一、管道的概念
把前一個命令的結果當成后一個命令的輸入。
管道是由內核管理的一個緩沖區,相當於我們放入內存中的一個紙條。管道的一端連接一個進程的輸出。這個進程會向管道中放入信息。管道的另一端連接一個進程的輸入,這個進程取出被放入管道的信息。一個緩沖區不需要很大,它被設計成為環形的數據結構,以便管道可以被循環利用。當管道中沒有信息的話,從管道中讀取的進程會等待,直到另一端的進程放入信息。當管道被放滿信息的時候,嘗試放入信息的進程會堵塞,直到另一端的進程取出信息。當兩個進程都終結的時候,管道也自動消失。
二、管道的實際用法
查看 a.txt 文件5-10行的內容
head -n10 a.txt | tail -n+5
查詢帶有關鍵字 python 的進程,一條一條列出。
ps –ef | grep python