2012-09-13 36 views
14

很抱歉在這裏發佈,但Google在搜索符號時做得非常糟糕。什麼是「|」意味着在終端命令行?

什麼是「|」意思是:

"some string" | someexecutable.py 
+2

http://en.wikipedia.org/wiki/Pipeline_(Unix) –

+1

'bash'手冊頁詳細解釋了行爲 - 有沒有你不明白的地方? –

回答

16

這是管道符號。它在命令行中分隔兩個程序(參見bash手冊中的Pipelines),第一個程序的標準輸出(在管道的LHS上)連接到第二個程序的標準輸入(在管道的RHS上) )。

例如:

who | wc -l 

讓你連接到你的電腦(加上一個標題行從who)人或會話數的計數。打折標題行:

who | sed 1d | wc -l 

輸入到sed來自who,和sed輸出變爲wc

底層的系統調用是pipe(2)fork(),dup2()exec*()系統調用一起使用。

7

它叫做pipe。它將第一條命令的標準輸出作爲標準輸入提供給第二條命令。