重定向輸出
$ls -l > lsoutput.txt 這條命令把ls命令的輸出保存到文件lsoutput.txt中。
$ps >> lsoutput.txt 使用>>操作符將輸出內容附加到一個文件中。這條命令將ps命令的輸出附加到指定文件的尾部。
如果想對標准錯誤輸出進行重定向,需要把准備重定向的文件描述符編號加在>操作符的前面。因為標准錯誤輸出的文件描述符編號為2,所以我們使用2>操作符。當需要丟棄錯誤信息並阻止它顯示在屏幕上時,這個方法很有用。
下面的命令將把標准輸出和標准錯誤輸出分別重定向到不同的文件中: $kill -HUP 1234 >killout.txt 2>killerr.txt
如果想把兩組輸出都重定向到一個文件中,可以用>&操作符來結合兩個輸出。如下所示: $kill -l 1234 >killouterr.txt 2>&1
管道
通常把一個進程的輸出通過管道連接到另外一個進程的輸入。
cmd1 | cmd2 shell負責兩個命令的標准輸入和標准輸出。 cmd1的標准輸入來自終端鍵盤 cmd1的標准輸出傳遞給cmd2,作為它的標准輸入 cmd2的標准輸出連接到終端屏幕。
shell所做的工作從效果來看是對標准輸入和標准輸出流進行了重新連接,使數據流從鍵盤輸入通過兩個命令最終輸出到屏幕上。