若要查看系統中有哪些用戶上線,可輸入
% who
如果希望用戶清單經過排序,必須分成兩個步驟,先將who 的結果存入一個暫存檔,再將此暫存檔請 sort 指令來排序:
% who > who.o % sort < who.o
這個方法非常繁瑣也不利於程式的閱讀,而且完成後必須記得刪除暫存檔, 尤其是當執行步驟很多時,更為頭疼。 Unix 提供管道的功能, 讓使用者將 who 命令的輸出直接連接到 sort 命令的輸入。 管道的符號是垂直線 "|" ,就像一根管子一般將左右兩邊指令的輸出和輸入連接起來。 左邊指令的輸出,會當作右邊指令的輸入。 例如,輸入
% who | sort
將得到與上面相同的結果,但更快、更簡潔。 若要查明有多少用戶登錄上線,請用下面的指令:
% who | wc -l
若要查明用戶clinton 是否上線,請用下面的指令:
who | grep clinton
如此,我們可將一個個 Unix 指令、小工具、script等以接力方式串接起來, 共同完成一個任務,就像接力賽跑一樣。
I/O Redirection 及 Pipe 這兩種 機制在程式設計上具有高度的彈性,也是Unix 在早期普受歡迎的原因之一。
Web Page Copyright: 亞洲大學資訊電機學院 連耀南
yaonanlien@asia.edu.tw
pipe.htm, Thu Aug 28 16:47:08 CST 2025