通过重定向命令,我们可以实现将一个命令的输出作为另外一个命令的输入进行处理。
$ date > test7.txt
$ wc < test7.txt
1 6 29
但这样有时会略显臃肿,因为我们必须先将命令重定向到文件,再从文件中输入到新的命令上。
而管道
提供了一种新的选择。我们可以将命令输出的结果既不输出到显示器上,也不将其重定向到某个文件,而是将其重定向到另一个命令,该过程称为管道连接piping
。而该过程中第一个命令输出的同时,会立即送给第二个命令,因此也不会用到任何的缓冲。
管道符号为|
,但实际上,其符号由两个竖线构成,一个在另一个的上面。
$ date|wc
1 6 29
我们还可以使用多个管道。
$ ls -l |sort -r|less
我们还可以搭配重定向符号,将管道连接的命令的输出结果,保存到文件中。
$ ls -l|wc > test.list
ps:管道比较流行的使用方法便是将大量的输出结果搭配more
或者less
的文本查阅命令使用,这样可以更好的阅读大量的输出结果。
网友评论