什么是“|”在终端命令行中意味着什么?

时间:2012-09-13 06:11:05

标签: linux bash terminal

很抱歉在此处发帖,但Google在搜索符号时做得非常糟糕。

“|”是什么意思是:

"some string" | someexecutable.py

3 个答案:

答案 0 :(得分:25)

这是管道符号。它在命令行上分离两个程序(参见bash手册中的Pipelines),第一个程序的标准输出(在管道的LHS上)连接到第二个程序的标准输入程序(在管道的RHS上)。

例如:

who | wc -l

为您计算连接到计算机的人数或会话数(加上who标题行的数量)。要对标题行打折:

who | sed 1d | wc -l

sed的输入来自whosed的输出来自wc

基础系统调用pipe(2)fork()dup2()exec*()系统调用结合使用。

答案 1 :(得分:8)

它被称为pipe。它将第一个命令("some string")的stdout作为第二个命令(someexecutable.py)的stdin。

答案 2 :(得分:5)

|是一个管道。它发送一个命令的输出作为下一个命令的输入。这里解释http://www.ibm.com/developerworks/linux/library/l-lpic1-v3-103-4/#3-pipes