也许很多人都会使用”|”,但是很多人并不知道”|”的含义?这个”|”是干嘛的?
说到”|”,我们不得不提到linux里的一个重要名词,管道,管道是啥?
管道实际是一种两个进程间进行单向通信的机制。
因为管道传递数据的单向性,管道又称为半双工管道。管道的这一特点决定了器使用的局限性。管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
- 数据只能由一个进程流向另一个进程(其中一个读管道,一个写管道);如果要进行双工通信,需要建 立两个管道。
- 管道只能用于父子进程或者兄弟进程间通信。,也就是说管道只能用于具有亲缘关系的进程间通信。
介绍完管道,我们回到正题,”|”含义是管道命令操作符,简称管道符。利用Linux所提供的管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入。连续使用管道意味着第一个命令的输出会作为 第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。
它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 standard error 信息没有直接处理能力。
用法示例:
ls -l | more
该命令列出当前目录中的文档,并把输出送给more命令作为输入,more命令分页显示文件列表。