新聞中心
Linux操作系統(tǒng)在世界范圍內(nèi)都被廣泛應(yīng)用,在很多企業(yè)、個(gè)人以及全球數(shù)百萬(wàn)個(gè)服務(wù)器中都有應(yīng)用。在使用Linux命令行時(shí),tee(管道中的tee)是一個(gè)非常常用的命令。下面我們就來(lái)詳解一下Linux中tee命令的使用。

成都創(chuàng)新互聯(lián)是一家專注網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷策劃、小程序定制開(kāi)發(fā)、電子商務(wù)建設(shè)、網(wǎng)絡(luò)推廣、移動(dòng)互聯(lián)開(kāi)發(fā)、研究、服務(wù)為一體的技術(shù)型公司。公司成立十多年以來(lái),已經(jīng)為成百上千成都辦公空間設(shè)計(jì)各業(yè)的企業(yè)公司提供互聯(lián)網(wǎng)服務(wù)。現(xiàn)在,服務(wù)的成百上千客戶與我們一路同行,見(jiàn)證我們的成長(zhǎng);未來(lái),我們一起分享成功的喜悅。
一、tee命令基本介紹
tee命令是一個(gè)標(biāo)準(zhǔn)的Linux命令,它的主要作用是將標(biāo)準(zhǔn)輸入輸出到屏幕上,并且將此同時(shí)將標(biāo)準(zhǔn)輸入復(fù)制到指定的一個(gè)或多個(gè)文件中去。tee能夠?qū)?biāo)準(zhǔn)輸入輸出到屏幕上,同時(shí)也能在內(nèi)存中存儲(chǔ)這一信息復(fù)制到指定的文件中去,這些指定的文件可以是一個(gè)或多個(gè)。
二、tee命令結(jié)構(gòu)
Linux下的tee命令有如下語(yǔ)法結(jié)構(gòu):
$ tee [選項(xiàng)] [文件]
其中選項(xiàng)參數(shù)如下:
? -a 或 –append 選項(xiàng):在指定的參數(shù)位陣列中追加數(shù)據(jù),而不是覆蓋文件中原有的數(shù)據(jù);
? -i 或 –ignore-interrupts 選項(xiàng):在復(fù)制數(shù)據(jù)的過(guò)程中,tee將會(huì)忽略中斷信號(hào);
? -f 或 –ignore-error 選項(xiàng):在tee無(wú)法打開(kāi)文件時(shí),也不會(huì)顯示錯(cuò)誤信息;
? -p 或 –input-buffered 選項(xiàng):保證在全部標(biāo)準(zhǔn)輸入已經(jīng)復(fù)制到指定文件中之后再輸出此份輸入;
? –help 選項(xiàng):顯示命令幫助。
文件參數(shù)可以是一個(gè)或多個(gè)文件的名稱,tee命令將標(biāo)準(zhǔn)輸入的數(shù)據(jù)復(fù)制到這些文件中。
三、tee命令實(shí)際應(yīng)用
在Linux終端中使用tee命令可以產(chǎn)生以下效果:
1.直接向文件寫(xiě)入數(shù)據(jù)
如下命令將輸出數(shù)據(jù)復(fù)制到test.txt文件中:
$ echo “Hello, Tee Command” | tee test.txt
執(zhí)行上面的命令后,在終端上會(huì)看到輸出的”Hello, Tee Command”,同時(shí)一個(gè)test.txt文件也被新建,其中包含了同樣的數(shù)據(jù)。
2.向多個(gè)文件寫(xiě)入數(shù)據(jù)
如下命令將輸出同時(shí)輸出數(shù)據(jù)到兩個(gè)文件test.txt和test-1.txt中:
$ echo “Hello, Tee Command” | tee test.txt test-1.txt
執(zhí)行命令后,test.txt和test-1.txt中分別包含”Hello, Tee Command”。
3.向文件追加數(shù)據(jù)
如下命令對(duì)文件test.txt追加數(shù)據(jù):
$ echo “Hello agn, Tee Command” | tee -a test.txt
執(zhí)行上面的命令后,test.txt文件中將包含”Hello, Tee Command”和”Hello agn, Tee Command”。
4.使用tee命令錯(cuò)誤
如果指定的文件無(wú)法打開(kāi)或者文件不可寫(xiě),在執(zhí)行tee命令時(shí)會(huì)產(chǎn)生一個(gè)錯(cuò)誤。不過(guò),我們可以通過(guò)使用輸出重定向符”>”來(lái)避免錯(cuò)誤。如下命令將數(shù)據(jù)輸出到文件test.txt中,如果文件無(wú)法打開(kāi),則使用”/dev/null”中斷輸出:
$ echo “Hello, Tee Command” | tee test.txt > /dev/null
執(zhí)行上面的命令后,如果test.txt文件無(wú)法打開(kāi),則輸出的數(shù)據(jù)會(huì)被丟失,不會(huì)有任何提示信息。
五、
tee命令是Linux中一個(gè)非常有用的命令,通常在Linux命令行中使用很頻繁。通過(guò)正確地使用tee命令可以使命令更加靈活和方便,利用輸出重定向符”>”可以使命令的操作效果更加穩(wěn)定和可靠。希望這篇文章能夠幫助大家了解tee命令,同時(shí)也能使大家更加熟練地使用Linux操作系統(tǒng)。
相關(guān)問(wèn)題拓展閱讀:
- linux怎么在終端中創(chuàng)建文件夾并將運(yùn)行結(jié)果保存至文件中
linux怎么在終端中創(chuàng)建文件夾并將運(yùn)行結(jié)果保存至文件中
Linux 終端中命令輸出保存到文件中的方法
當(dāng)你在 Linux 終端中運(yùn)行命令或腳本時(shí),它會(huì)在終端中打印輸出方便你立即查看。
有時(shí)你需要將輸出保存到文件中以備將來(lái)參考。當(dāng)然你可以在 Linux 終端中復(fù)制和粘貼,但是有更好的方法可以在 Linux 命令行中保存 shell 腳本或命令的輸出,讓我演示給你看。
方法 1:使用重定向?qū)⒚钶敵霰4娴轿募?/p>
你可以在 Linux 中使用重定向來(lái)達(dá)成目的。使用重定向操作符,它會(huì)將輸出保存到文件中而不是在屏幕上顯示。
>會(huì)將命令輸豎仿出重定向到文件,它會(huì)替換文件中的所有內(nèi)容。
>>會(huì)將命令輸出添加到文件現(xiàn)有內(nèi)容的末尾。
使用標(biāo)準(zhǔn)輸出重定向運(yùn)算符>將輸出重定向到文件:
command > file.txt
如果file.txt不存在,它會(huì)自動(dòng)派纖塌創(chuàng)建。如果你使用>再次重定向到相同的文件,文件內(nèi)容將被替換為新的輸出。
下面的示例將更好地演示它。它首先會(huì)保存ls -l命令的輸出,然后,它將用ls *.c命令的輸出替換文件的內(nèi)容。
2ce1818eb3591da31ced.png
如果你不想在保存腳本或命令的輸出時(shí)丟失現(xiàn)有文件的內(nèi)容,可以使用>>:
command >> file.txt
下面這個(gè)例子更好地展示了它:
43e90d2b725aae0cdbdb9049c5f6b090.png
即使文件不存在,它也會(huì)自動(dòng)創(chuàng)建。
溫馨提示:將 Linux 命令輸出和錯(cuò)誤保存到一個(gè)文件中。
如果 Linux 命令返回錯(cuò)誤,那么錯(cuò)誤不會(huì)保存在文件中。你可以使用2>&1將命令的輸出和錯(cuò)誤保存到同一個(gè)文件中,如下所示:
command > file.txt 2>&1
通常,0代表標(biāo)準(zhǔn)輸入,1代表標(biāo)準(zhǔn)輸出,2代表標(biāo)準(zhǔn)錯(cuò)誤。在這里,你要將標(biāo)準(zhǔn)錯(cuò)誤(2) 重定向(&)到與塵圓標(biāo)準(zhǔn)輸出(1)相同的地址。
方法 2:使用 tee 命令顯示輸出并將其保存到文件中
順便說(shuō)一句,你是否注意到,當(dāng)你將命令輸出發(fā)送到一個(gè)文件時(shí),你再也無(wú)法在終端上看到它了?Linux 的 tee 命令解決了這個(gè)問(wèn)題。
類似于將水流發(fā)送到兩個(gè)方向的三通管,tee命令將輸出發(fā)送到終端以及文件(或作為另一個(gè)命令的輸入)。你可以像這樣使用它:
command | tee file.txt
同樣,如果該文件不存在,它將自動(dòng)創(chuàng)建。
你還可以使用tee命令-a選項(xiàng)進(jìn)入附加模式:
command | tee -a file.txt
讓我用一些簡(jiǎn)單的例子來(lái)演示:
e1bbfd365befcb505de444ec.png
我在例子中使用了簡(jiǎn)單的 Linux 命令。但是請(qǐng)放心,你也可以使用這些方法來(lái)保存 bash 腳本的輸出。
注意:將命令輸出保存到文件時(shí),避免管道陷阱
你可能對(duì)管道重定向很熟悉,可以使用它來(lái)組合 Linux 命令,但不能將輸出通過(guò)管道傳輸?shù)轿募?,它顯示找不到output.txt命令:
0e3777ef009dabd7aa9a53768b8c7316.png
這是因?yàn)楣艿缹⒁粋€(gè)命令的輸出重定向到另一個(gè)命令的輸入。在本例中,你向它傳遞一個(gè)了一個(gè)文件名而它期望一個(gè)命令。
如果你是一個(gè) Linux 命令行新手,我希望這個(gè)快速教程對(duì)你的 Linux 知識(shí)有所幫助。I/O 重定向是一個(gè)需要注意的基本概念。
一如既往,歡迎提出問(wèn)題和建議。
到此這篇關(guān)于如何將 Linux 終端中命令的輸出保存到文件中實(shí)例操作的文章就介紹到這了,更多相關(guān)Linux 終端命令輸出保存文件中內(nèi)容請(qǐng)搜索我們以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持我們!
關(guān)于linux中 tee的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
文章名稱:Linux中tee命令使用詳解(linux中tee)
標(biāo)題路徑:http://m.fisionsoft.com.cn/article/cdedpch.html


咨詢
建站咨詢
