Linux系列(11):之bash进阶与数据流导向、管线命令
1.万用字符与特殊字符
在bash的环境下有一个特别有用的功能,那就是万用字符!下面展示常见的万用字符:
1.万用字符
除了万用字符还有一些其他的特殊字符,接下来显示特殊字符。
2.特殊字符
2.数据流重导向
数据流重导向就是将某个指令执行后因该要出现在屏幕上的数据给它传输到其他的地方,比如文件或者设备之类的。
1.什么是数据流重导向
标准输出:将指令执行结果显示到屏幕
标准错误输出:将指令执行出错的信息显示到屏幕
数据的重导向可以将指令执行的结果信息传送到其他地方。
2.重导向特殊字符
有 3种重导向特殊字符,分别对应标准输入、标准输出、标准错误输出。如下所示:
对于标准输出与标准错误输出而言:
重定向符1>等同于>。重定向符1>>等同于>>。
3.重定向命令格式
指令格式:command [options] 重定向符 地址
下面看一下输出重定向实例:
解释一下上图内容,ll指令是‘ls -l’指令的别名,因此第一行指令是以列表的形式在屏幕显示根目录/的下的目录或文件,但是并没显示在屏幕,因为后面用了重定向标准输出符‘>’将输出的内容重定向到zxp_file文件中了。注意如果没有zxp_file这个文件,那么会自动创建该文件。
4.连续重定向
https://www.jianshu.com/p/7095a2e06304
连续重定向就是重定向标准输出与标准错误输出
3.连续指令符
连续下达命令的意思就是在一个行中包含多个指令。
那什么时候需要用到连续指令呢?
1.连续指令符分类
一共可以分为三种。
1.第一种
2.第二、三种
4.管线命令
1.管线命令使用场景
实例:
ls -l /etc | less //显示第一页内容
如果直接使用指令ls -l /etc会显示所有的信息,如果信息太多,会自动选择显示最后一页内容,那么我们如果想要显示第一页的内容那么必须用到管线命令,将ls指令的输出内容作为less指令的输入内容,而less就是从第一页开始显示的,因此会显示第一页内容。
2.管线命令使用原理
3.常用的管线命令
主要的管线命令:cut 、grep ;sort 、wc 、uniq ;tee ;tr 、col 、join 、paste 、expand ;split ;xargs等。
撷取命令:cut、grep
排序命令:sort 、wc、uniq
双向重导向命令:tee
字符转换命令:tr、col、join、paste、expand
分区命令:split
参数代换命令:xargs
1.撷取命令:cut、grep
撷取信息通常是针对“一行一行”来分析,并不是对整篇信息进行分析。
1.cut指令
功能:可以将某一行信息中的某一部分撷取出来
2.grep指令
grep命令的功能:就是将一段数据经过分析取出我们想要的部分,撷取是针对一行为单位进行分析,之后留下符合要求的行,丢弃不符合要求的行。