1. 程式人生 > 實用技巧 >Tee命令的幾個使用例項

Tee命令的幾個使用例項

Tee命令是一個命令行工具,它從標準輸入讀取資料,同時將結果列印到檔案中和標準輸出到螢幕中。

Tee 命令語法

tee 選項 檔名

例項一:基本方式

tee命令的主要功能是顯示命令的輸出並將其儲存到一個檔案中。在下面的示例中,我們檢查系統中的塊裝置並將結果傳送到tee命令,tee命令將輸出顯示到終端,同時將其儲存在devices.txt的檔案中:

[[email protected] ~]# lsblk | tee devices.txt

Tee命令的幾個使用例項Tee命令的幾個使用例項
可以使用cat命令檢查devices.txt檔案的內容,如下所示:

[[email protected] ~]# cat devices.txt 

Tee命令的幾個使用例項Tee命令的幾個使用例項

例項二:命令輸出寫入多個檔案

此外,可以將命令的輸出寫入多個檔案,用空格分隔。如下所示:

[[email protected] ~]# hostnamectl | tee file1.txt file2.txt

Tee命令的幾個使用例項Tee命令的幾個使用例項
我們呼叫了hostnamectl命令來列印系統的主機名以及其他詳細資訊,並將標準輸出儲存為兩個檔案file1.txt和file2.txt

使用cat命令檢視file1.txt和file2.txt:
Tee命令的幾個使用例項Tee命令的幾個使用例項

例項三:靜默輸出到檔案

如果你想隱藏或禁止tee命令在螢幕上列印輸出,那麼將輸出重定向到/dev/null,如下所示:

[[email protected] ~]# df -Th | tee file4.txt > /dev/null

Tee命令的幾個使用例項Tee命令的幾個使用例項

例項四:在檔案中追加輸出

預設情況下,tee命令覆蓋檔案的內容。若要追加輸出並防止擦除當前內容,請使用-a或--append選項。

[[email protected] ~]# lsblk | tee file1.txt
[[email protected] ~]# date | tee -a file1.txt 
[[email protected] ~]# cat file1.txt 

Tee命令的幾個使用例項Tee命令的幾個使用例項
上面命令中,第一條命令時將內容輸出到file1.txt,第二條命令tee命令加上了-a選項,就可以追加內容到file1.txt裡面了,第三條命令用cat檢視file1.txt,發現上面兩條命令輸出的內容都儲存下來了。

例項五:tee命令和sudo一起使用

假設只可以用一個sudo使用者,希望寫入root使用者擁有許可權的檔案。任何提升操作都需要在命令之前呼叫sudo使用者。要實現這一點,只需在tee命令前面加上sudo,如下所示:

[[email protected] ~]$ echo "10.200.50.20 db-01" | sudo tee -a /etc/hosts/

Tee命令的幾個使用例項Tee命令的幾個使用例項

例項六:將一個命令的輸出重定向到另一個命令

使用tee命令,我們可以將一個命令的輸出重定向到另一個命令。這裡,第一個命令的輸出將作為第二個命令的輸入。示例如下:

[[email protected] ~]# grep 'root' /etc/passwd | tee /tmp/passwd.tmp | wc -l
2
[[email protected] ~]# cat /tmp/passwd.tmp 
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
[[email protected] ~]# 

Tee命令的幾個使用例項Tee命令的幾個使用例項

例項七:在vim編輯器中使用tee

假設你是一個非root使用者,你正在修改root使用者擁有的檔案,忘記使用sudo許可權開啟檔案,現在你想儲存更改,示例如下:

[[email protected] ~]$ vim /etc/hosts

Tee命令的幾個使用例項Tee命令的幾個使用例項
現在要將更改儲存到vim編輯器中的/etc/hosts檔案,請執行:

:w !sudo tee %

Tee命令的幾個使用例項Tee命令的幾個使用例項
上面提示輸入使用者的密碼,輸入完成之後即可儲存成功。

總結

Tee命令是一個命令列工具,它從標準輸入讀取資料,同時將結果列印到檔案中和標準輸出到螢幕中。

本文原創地址:https://www.linuxprobe.com/tee-using-example.html