管道是一种两个进程间进行单向通信的机制。因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
*** 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。
*** 管道只能用于父子进程或者兄弟进程间通信。,也就是说管道只能用于具有亲缘关系的进程间通信。
管道命令的处理图
command1的输出作为command2的输入,command2的输出作为command3的输出
最终展示的是command3的输出结果。command1和command2的输出不展示。
管道命令使用的是 | 这个界定符号。
举例1:统计当前文件夹下以.dat结尾的文件个数:
ls -l |grep “.dat”|wc -l
举例2:查看指定日志文件中包含mangage字的内容
cat cc.log|grep “mangage”