1. 前言
本文主要講解在linux系統中的tee命令,并列出一些常見的使用案例。
如果希望同時顯示命令的輸出結果并將其保存到文件中,則需要使用tee命令。
tee命令從標準輸入讀取數據,并將數據寫入標準輸出和文件。
結果是您可以看到命令的輸出,同時還可以保存它。
換句話說,你有一個輸入被引導到兩個輸出。
現在您已經理解了tee命令的用途,接下來讓我們看看如何在Linux中使用tee命令。
Linux常用命令之tee,它有什么作用
2. `tee`命令日常使用示例
tee命令有一個簡單的語法:
tee [OPTION] [FILE]
請記住tee是從標準輸入讀取的,因此幾乎在所有情況下,您都要結合其它命令使用它。
我們看看以下使用例子:
2.1 顯示命令輸出結果并將其保存到文件中
讓我們來看一個基本的例子,在這個例子中,您希望計算一個文件中的行數。您想要查看文件中有多少行,并將該信息保存到另一個文件中。
wc -l 123.txt | tee count.txt
20 123.txt
count.txt文件不存在,因此它將創建一個名為count.txt的新文件。如果您看到輸出內容,它會同時保存到count.txt。
cat count.txt
20 123.txt
注意:在默認情況下,tee命令將覆蓋文件的內容。如果你想追加內容,你可以使用附加選項-a
wc -l 123.txt | tee -a 123.txt
2.2 顯示命令輸出結果并將其保存到多個文件中
如果希望將命令輸出保存到多個文件中,也可以使用tee命令實現這一點。你只需要指定文件。
wc -l 123.txt | tee count1.txt count2.txt
您可以驗證在上述兩個文件中是否保存了相同的信息。
cat count1.txt count2.txt
20 123.txt
20 123.txt
以上是使用cat命令同時打印多個文件的內容,您應該知道吧?
2.3 將命令輸出解析為另一個命令,同時將其保存到文件中
您并不總是需要查看命令輸出結果。因為它是標準輸出,所以可以將它傳遞到另一個命令。
以下面的命令為例。
ls -l | tee count.txt | wc -l
這里發生的情況是,ls -l命令的輸出通過管道傳輸到tee命令?,F在,tee命令將ls -l的輸出保存在count.txt文件中,但是不顯示這個輸出,而是通過管道將其傳輸到wc -l命令,該命令計算count.txt行數。
在本例中看到的輸出是wc -l命令的執行結果。ls -l命令的輸出結果保存在count.txt文件中。
cat count.txt
total 20
-r--r--r-- 1 zcwyou zcwyou 456 Dec 11 21:29 1.txt
-rw-r--r-- 1 zcwyou zcwyou 0 Jan 10 16:03 2.txt
-rw-r--r-- 1 zcwyou zcwyou 356 Dec 17 11:39 3.txt
-rw-r--r-- 1 zcwyou zcwyou 356 Dec 17 09:59 4.txt
-rw-r--r-- 1 zcwyou zcwyou 356 Dec 11 21:35 5.txt
drwxr-xr-x 3 zcwyou zcwyou 4096 Jan 4 20:10 6.txt
3. 結論
通過本文,您應該對tee命令有進一步的了解了吧?使用tee命令完全取決于您的使用場景和意愿。當我需要分析像日志文件這樣冗長的輸出時,它很方便。實時查看它并將其存儲到一個文件中以供將來參考,這對我有一定的幫助,并為我節省了一些時間。
希望本文能幫助您提升日常管理效率。如果您有更好的使用例子,請留言。
本文已同步至博客站,尊重原創,轉載時請在正文中附帶以下鏈接:https://www.linuxrumen.com/cyml/1681.html