一个典型的linux程序一般为:
1 有标准输入和标准输出设备。
2 程序的通常逻辑是,从标准输入读取内容,处理之后,输出到标准输出。
command1 | command2 的意思是,将 command1 的标准输出设备,重定向到command2的
标准输入。 所以整个处理像一个流水线
1. command1 从标准输入(这里也就是键盘)读取数据
2. command1 处理数据,然后输出到自己的标准输出。
3. command1的标准输出已经重定向到command2的标准输入,所以,command2 从标注输
入读取内容,其实就是从command1的输出内容中读取。
4. command2 处理内容,然后输出到标准输出(这里是屏幕)
这就形成了一个流水线,command1 不停吐出内容,command2 读取这些内容,处理,再
吐出给下一个程序。
这个管道可以一直串联下去,从而可以通过一组程序,完成一个复杂的流水线处理。
基本是这样一个过程。
command1 和 command2 是并行执行的。
【 在 ludongxing 的大作中提到: 】
: linux的命令行上输入 command1 | command2 |command3;
: linux的|符号表示一个程序执行完,然后继续执行下一个命令,
: 对于上面那行来说就是:先执行command1,然后执行command2,然后执行command3。
: ...................
--
FROM 115.171.199.*