將標準輸出同時輸出到螢幕和檔案
linux shell -ls | tee <out.file>
Why
有時候我們看到螢幕上的輸出結果,希望能記錄下來。這時候可以使用重導輸出算子 >
。
例如使用 ls > out.txt
將 ls
的結果寫到檔案 out.txt
上,但這樣我們在螢幕上便看不到結果。
要看結果必須再用 cat out.txt
將檔案內容輸出到螢幕上。 這時候便可使用 tee
這個指令。
How
利用管線 |
將螢幕上的輸出重導給 tee
,而 tee
會保持螢幕輸出並將結果寫入檔案。
tee
其效果就如同一個 T 型管線,接受一個輸入但有兩個輸出。
e.q.
> ls | tee -a <out.file> // (1)
-
-a
參數是將結果附加到檔案後面。沒有-a
參數,會直接覆蓋檔案。就像重導輸出算子>>
和>
的差別一樣。