第5章 字符处理

5.1 管道

说起“管道”,很容易让人想起现实生活中使用的水管、输气管等,它们的作用在于运输气体或液体等物质,有了管道,会让我们方便很多。在Linux中也存在着管道,它是一个固定大小的缓冲区,该缓冲区的大小为1页,即4K字节。管道是一种使用非常频繁的通信机制,我们可以用管道符“|”来连接进程,由管道连接起来的进程可以自动运行,如同有一个数据流一样,所以管道表现为输入输出重定向的一种方法,它可以把一个命令的输出内容当作下一个命令的输入内容,两个命令之间只需要使用管道符连接即可。

举个例子,如果想要看一下etcinit.d目录下文件的详细信息,可以使用ls-letcinit.d命令,不过这可能会出现因输出内容过多而造成翻屏的情况,这样一来,先输出的内容在屏幕上就看不到了。其实这里就可以利用管道功能,将命令的输出使用more程序一页一页地显示出来。


  1. [root@localhost ~]# ls -l etcinit.d | more

可以看出,通过管道,使ls-letcinit.d命令输出的内容作为下一个命令more的输入,这样就可以方便地查看输出内容了。