溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux tee命令使用詳解

發(fā)布時(shí)間:2020-09-02 09:16:03 來源:腳本之家 閱讀:151 作者:小姜dot 欄目:服務(wù)器

tee命令主要被用來向standout(標(biāo)準(zhǔn)輸出流,通常是命令執(zhí)行窗口)輸出的同時(shí)也將內(nèi)容輸出到文件,下面是tee的man 信息

read from standard input and write to standard output and files

下面我們通過幾個(gè)應(yīng)用場景來熟悉tee命令。

場景1: 如何使用tee命令

tee命令格式是:

tee [OPTION]... [FILE]...

從man文件的定義了解 tee從標(biāo)準(zhǔn)輸入流讀取數(shù)據(jù),所以這里我們使用一個(gè)簡單的命令產(chǎn)生輸出流作為tee的輸入流,這里就選用ping命令,

[mysql@localhost ~]$ ping baidu.com
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 time=30.1 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 time=33.1 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 time=31.9 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=4 ttl=128 time=30.9 ms
...

現(xiàn)在我們希望輸出到控制臺(tái)的同時(shí),將輸出到控制臺(tái)的內(nèi)容保存到另外的文件,以便其他的用途,那么這時(shí)候tee命令就可以發(fā)揮作用了,

[mysql@localhost ~]$ ping baidu.com | tee ping-baidu.log #輸出到控制臺(tái)的同時(shí),將內(nèi)容保存到ping-baidu.log文件中
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 time=30.6 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 time=30.5 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 time=30.2 ms
^C[mysql@localhost ~]$ cat ping-baidu.log #檢查文件內(nèi)容是否和輸出一致
PING baidu.com (220.181.57.216) 56(84) bytes of data.
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=1 ttl=128 time=30.6 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=2 ttl=128 time=30.5 ms
64 bytes from 220.181.57.216 (220.181.57.216): icmp_seq=3 ttl=128 time=30.2 ms

場景2: 如何向文件里面追加內(nèi)容?

上面的操作中,輸出到ping-baidu.log,如果這個(gè)文件存在,則先將文件里面的內(nèi)容全部清除,然后再輸入內(nèi)容,對于某些場景下這種方式則不適合,我們希望每次的輸出是追加到文件里面,這時(shí)我們可以通過-a參數(shù)來指定.

ping baidu.com | tee -a ping-baidu.log

Linux tee命令使用詳解

場景3: 如何同時(shí)輸出到多個(gè)文件?

直接在tee命令后面追加待輸入的文件名即可,具體格式是:

ping baidu.com | tee ping.log ping-baidu.log

Linux tee命令使用詳解

場景4: 如何將tee命令的輸出重定向?yàn)榱硪粋€(gè)命令的輸入流

直接在tee命令后面接| 和下一個(gè)命令,就是按照pipeline的方式來弄

Linux tee命令使用詳解

場景5: 通過使用tee命令來提高寫入文件的權(quán)限等級

在實(shí)際操作liunx服務(wù)器的時(shí)候,我們在配置某些文件的時(shí)候,配置完了,保存的時(shí)候,發(fā)現(xiàn)自己當(dāng)前的用戶不具有保存文件的文件,這時(shí)候內(nèi)心是十分奔潰的,有沒有解決的方式呢?這時(shí)候tee命令來解救我們的煩惱。

具體的操作就是在文件保存的時(shí)候輸入:w !sudo tee %,這時(shí)候vi會(huì)提醒你輸入sudo操作的密碼,輸入正確之后,文件就保存了,此時(shí)你可以安心的:q!退出文件了。

場景6: 如何讓tee忽略中斷事件

-i參數(shù)能夠讓tee忽略中斷事件(SIGINT)

ping baidu.com | tee -i ping.log

參考:

https://www.howtoforge.com/linux-tee-command/

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI