首页 > shell 中的 pipe '|'

shell 中的 pipe '|'

各位好:

关于这个shell中的PIPE我有一个问题:所有的书中都说PIPE是把一个command的std output 重定向到另一个command 的std input,为什么说是std input? 如果说是把一个command的的std output重定向到另一个command的 input我理解起来没有问题,std input不是指的键盘吗?

谢谢!


input outpu指输入 输出
程序可以接受从键盘的输入,也可以接受其他程序的输入
| 就是把程序的输出输入到另一个程序中


对比一下下面的几个命令,不知道是否对你有帮助

wc -l -  # 敲一段东西,然后ctrl+D结束
cat a.txt | wc -l -  # 把敲的东西放在a.txt里面
wc -l a.txt  # 把敲的东西放在a.txt里面

在 linux 中,everything is a file. 所以标准输入输出可以分别看作是一个特殊的文件。默认情况下,标准输入连接到键盘,标准输出连接到屏幕,但均可以重新定向到别的文件。所以我认为 PIPE不仅仅是重定向了前一个命令的标准输出,而且重定向了后一个命令的标准输入。

【热门文章】
【热门文章】