还记得那个计算注册用户数目的命令组合吗,是不是还要rm temp一次呢?其时我们用到了暂存文件的概念:把一个程序的输出重定向到暂存文件temp(临时文件,除了储存中间信息外毫无它用--卸磨杀驴!)中,然后再以这个暂存文件为输入执行wc,由于使用暂存文件不是十分理想(有垃圾),Linux自然有更好的方式:管道。
管道即把一个程序的输出接到另一个程序的输入,正如其名它不经过任何中间文件,只是一个虚拟的管子,下面还以计算注册用户的数目为例,看看使用管道时的命令:
$ who | wc -l
好象还简洁了许多呢!中间那个连接两个命令的“|”即是管道符号,也叫管道线。这个命令字面上理解就是把“谁注册了”的每个用户一行的输出列表经过管道送到“有多少行”的命令那里,实际情况也即如此!
下面给出应用管道常做的一些高效工作:
计算文件数目:$ ls | wc -l
双列打印文件名表:$ ls | pr -3
查询using是否上机:$ who | grep using
打印用户排序表:$ who | sort
打印用户数目:$ who | wc -l