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

Moh*_*hit 25 linux bash terminal

很抱歉在这里发布,但Google在搜索符号时做得非常糟糕.

什么是"|" 意思是:

"some string" | someexecutable.py
Run Code Online (Sandbox Code Playgroud)

Jon*_*ler 27

它是管道符号.其分离的命令行(见关于两个节目Pipelinesbash手册),并且所述第一程序的标准输出(在管的左轴)被连接到第二程序的标准输入(在管的RHS).

例如:

who | wc -l
Run Code Online (Sandbox Code Playgroud)

为您计算连接到计算机的人数或会话数(加上一个用于标题行who).要折扣标题行:

who | sed 1d | wc -l
Run Code Online (Sandbox Code Playgroud)

输入到sed来自who和输出sedwc.

底层系统调用pipe(2)配合使用fork(),dup2()exec*()系统调用.


P.P*_*.P. 9

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


meh*_*ved 6

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