Linux

Linux 以 tee 指令將結果輸出至螢幕與檔案教學與範例

介紹如何在 Linux 中使用 tee 指令,將程式的結果同時輸出至螢幕以及檔案中。

Linux 的 tee 指令可以從標準輸入讀取資料之後,將資料同時送到檔案與螢幕上,可以讓使用者一邊即時觀察資料,一邊將資料儲存至檔案中。

tee 指令輸出至螢幕與檔案

以下是 tee 指令的安裝與使用方式。

安裝 tee

通常 Linux 系統中都會預先安裝好 tee 指令工具,如果在 Ubuntu Linux 系統下要安裝 tee 指令,可以用 apt 安裝 coreutils 套件:

# 安裝 coreutils 套件
sudo apt install coreutils

輸出至螢幕與檔案

若要將資料同時輸出至螢幕與檔案,只要將資料導向至 tee 指令,並指定要存放資料的檔案名稱即可:

# 將 ls 的輸出顯示在螢幕上,同時儲存至 output.txt
ls | tee output.txt

tee 也可以同時寫入多個檔案,也就是將資料複製好幾份,寫入多個檔案中:

# 將 ls 的輸出顯示在螢幕上,同時儲存至 output1.txt、output2.txt、output3.txt
ls | tee output1.txt output2.txt output3.txt

附加方式寫入檔案

當輸出的檔案已經存在時,若要讓 tee 以附加方式寫入檔案,不要將原始的檔案內容覆蓋掉,可以加上 -a 參數:

# 以附加方式寫入 output.txt
ls | tee -a output.txt

處理錯誤訊息

如果要連同程式的錯誤訊息一起交給 tee 處理,可以使用 2>&1 將程式的錯誤訊息(標準錯誤,即 standard error)合併至標準輸出:

# 連同錯誤訊息一起處理
ls non.exist 2>&1 | tee output.txt

搭配其他工具使用

tee 顯示在螢幕上的資料,其實就是輸出至標準輸出而已,所以在 tee 之後也可以搭配任意的 Linux 工具進行後續資料的處理:

# 搭配 grep 顯示特定資料
ls | tee output.txt | grep hello

參考資料

Share
Published by
Office Guide

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago