tee 命令是個啥?我們通過例子來看一下
tee 命令從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),同時寫入到標(biāo)準(zhǔn)輸出和文件中。
也就是說,tee 命令的結(jié)果是,你既可以在屏幕上看到命令的輸出,同時還可以將輸出保存到文件中。
換言之,你有一個輸入,它會被引導(dǎo)到兩個輸出。
要理解這個問題,首先你需要知道 Linux 中重定向的概念。關(guān)于重定向,可以參閱我們先前的文章:
Linux中的輸入、輸出和錯誤重定向
Linux 中的管道是什么?管道重定向是如何工作的?
該命令以電力、管道系統(tǒng)和其他行業(yè)中使用的 T 形接頭命名,它們被稱為“T”,因為它們類似于字母“T”。
以上是關(guān)于 tee 命令用途的介紹,現(xiàn)在我們來看看在 Linux 中怎樣使用 tee 命令。
tee 命令示例
tee命令有一個簡單的語法:
tee 命令從標(biāo)準(zhǔn)輸入讀取數(shù)據(jù),所以它總是和與另外一個命令一塊被使用。
我們來看幾個例子。
顯示命令輸出并將其保存到文件
比如我們想要計算某個文件中有多少行文字,我們要在屏幕上看到它到底有多少行,同時還想要把這個行數(shù)保存到另一個文件中。
文件 count.txt 原本并不存在,因此它將創(chuàng)建一個名為 count.txt 的新文件。如果你查看文件 count.txt 的內(nèi)容,會發(fā)現(xiàn)其與顯示在屏幕上的內(nèi)容是相同的:
注意:默認(rèn)情況下,tee 命令會覆蓋原文件的內(nèi)容。如果需要,可以使用 -a 選項來讓其在文件中追加(而不是刪除):
顯示命令輸出并將其保存到多個文件
如果要將命令輸出保存到多個文件,也可以使用 tee 命令,只需指定文件即可:
可以驗證上述兩個文件中是否存儲了相同的內(nèi)容:
在 Linux 中,是可以通過 cat 命令來查看多個文件的。
將命令輸出解析到另一個命令,同時將其保存到文件中
我們并不總是需要查看命令輸出,由于它是標(biāo)準(zhǔn)輸出,因此可以通過管道將其傳輸?shù)搅硪粋€命令。
看下面的例子:
上述命令中,ls -l 命令的輸出通過管道傳輸?shù)?tee 命令,tee 命令將 ls -l 的輸出保存在 count.txt 文件中。然后,輸出信息沒有顯示在屏幕上,而是又通過管道傳輸?shù)搅?wc -l 命令,該命令用于計算行數(shù)。
在本例中,我們通過屏幕看到的是 wc -l 命令的輸出。ls -l 命令的輸出被存儲在了文件 count.txt 中。
我們可以在平時工作中,依實際情況盡可能的發(fā)揮想象力,來使用 tee 命令。比如在分析一個很長的輸出(比如日志文件)時,使用它會很方便。實時查看并將其存儲在文件中以供將來參考也是非常有用的一個操作。
以上就是本次分享全部內(nèi)容,歡迎討論。