linux管道
管道(pipe)
回到顶部到目前为止,可以连接两条命令的符号有:
1.管道线;
2.重定向;
3.连续执行命令分号;
4.&&和||;
注意管掉线|和其他几个符号的区别。
我们先举一个简单的管道线命令,在用ls命令查看/etc目录下的文件的时候,由于/etc目录下的文件过多,超过了一屏, 导致前面的内容来不及看到。这时我们就可以将ls的输出通过管道线重定向到less命令,再由less命令输出到屏幕:
[peter@study ~]$ ls -al /etc | less这样ls命令的输出就被less命令读取,利用less的功能,就可以前后翻页查看相关的信息了! 管道命令|仅能处理命令的标准输入standard input和标准输出standard output, 对于standard error并没有直接处理的能力。管道命令示意如下图所示:
图 管道命令的处理示意图
通常重定向符号后面接的是文件,而管道后面接的必须是命令,而且这个命令必须能够接受standard input, 这样的命令才可以称为管道命令,例如less, more, head, tail等都是可以接受standard input的管道命令。 至于ls, cp, mv等就不是管道命令了!因为ls, cp, mv并不会接受来自stdin的数据。 综上所述,管道命令主要有两个需要注意的地方:
管道命令仅处理standard output,对于standard error output会予以忽略;
管道命令必须要能够接受来自前一个命令的数据成为standard input继续处理才行。
其实我们也可以将标准错误输出通过管道命令输入给管道命令, 只不过需要先将标准错误输出用重定向符号重定向到标准输出,即在管道线之前加入2>&1
下面介绍一些常用的管道命令。
常见的管道命令
回到顶部1.linux cut命令
2.linux grep命令
3.linux tee命令
4.linux wc命令
5.linux join命令
6.linux col命令
7.linux expand命令
8.linux paste命令
9.linux sort命令
10.linux split命令
11.linux tr命令
12.linux uniq命令
13.linux xargs命令
本文由initroot编辑整理,转载请注明www.initroot.com
100次点赞
100次阅读