Linux tee 同時螢幕標準輸出和輸出到檔案用法與範例

本篇將介紹如何使用 Linux 下的 tee 指令來同時螢幕標準輸出和輸出到檔案,透過學習 tee 指令技巧將可以提昇 linux 指令到另一個層次,更能用高效率的指令處理,以下簡單介紹 tee 用法與範例。

範例

以下示範在 linux 下使用 tee 指令的情境,
假設需要搜尋當前目錄下的 *.jpg 的檔案,

將結果從螢幕標準輸出stdout導到檔案,

1
find ./ -name "*.jpg" > out.txt

將結果從透過tee標準輸出在螢幕上也同時輸出到檔案(覆蓋模式),

1
find ./ -name "*.jpg" | tee out.txt

將結果從透過tee標準輸出在螢幕上也同時輸出到檔案(-a 是添加模式,append的意思),

1
find ./ -name "*.jpg" | tee -a out.txt

再透過 pipeline 作後續其他處理,例如 grep 或 ag,

1
2
3
find ./ -name "*.jpg" | tee out.txt | grep photo
or
find ./ -name "*.jpg" | tee out.txt | ag photo

將標準輸出stdout與錯誤輸出stderr都導到檔案,

1
find ./ -name "*.jpg" 2>&1 | tee out.txt

參考
[Linux] tee 指令:將結果同時輸出到螢幕和檔案 – OneJar 的隧道
https://www.onejar99.com/linux-command-tee/

其它相關文章推薦
Linux 常用指令教學懶人包
Linux cut 字串處理用法與範例
Linux sed 字串取代用法與範例
Linux find 尋找檔案/尋找資料夾用法與範例
Linux grep/ack/ag 搜尋字串用法與範例
Linux xargs 參數列表轉換用法與範例
Linux tail 持續監看檔案輸出用法與範例
Linux du 查詢硬碟剩餘空間/資料夾容量用法與範例
Linux wget 下載檔案用法與範例