Linux tee命令使用詳解
tee
命令主要被用來(lái)向standout(標(biāo)準(zhǔn)輸出流,通常是命令執(zhí)行窗口)輸出的同時(shí)也將內(nèi)容輸出到文件,下面是tee
的man 信息
read from standard input and write to standard output and files
下面我們通過(guò)幾個(gè)應(yīng)用場(chǎng)景來(lái)熟悉tee
命令。
場(chǎng)景1: 如何使用tee命令
tee命令格式是:
tee [OPTION]... [FILE]...
從man文件的定義了解 tee從標(biāo)準(zhǔn)輸入流讀取數(shù)據(jù),所以這里我們使用一個(gè)簡(jiǎn)單的命令產(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
場(chǎng)景2: 如何向文件里面追加內(nèi)容?
上面的操作中,輸出到ping-baidu.log,如果這個(gè)文件存在,則先將文件里面的內(nèi)容全部清除,然后再輸入內(nèi)容,對(duì)于某些場(chǎng)景下這種方式則不適合,我們希望每次的輸出是追加到文件里面,這時(shí)我們可以通過(guò)-a
參數(shù)來(lái)指定.
ping baidu.com | tee -a ping-baidu.log
場(chǎng)景3: 如何同時(shí)輸出到多個(gè)文件?
直接在tee
命令后面追加待輸入的文件名即可,具體格式是:
ping baidu.com | tee ping.log ping-baidu.log
場(chǎng)景4: 如何將tee命令的輸出重定向?yàn)榱硪粋€(gè)命令的輸入流
直接在tee
命令后面接|
和下一個(gè)命令,就是按照pipeline的方式來(lái)弄
場(chǎng)景5: 通過(guò)使用tee命令來(lái)提高寫入文件的權(quán)限等級(jí)
在實(shí)際操作liunx服務(wù)器的時(shí)候,我們?cè)谂渲媚承┪募臅r(shí)候,配置完了,保存的時(shí)候,發(fā)現(xiàn)自己當(dāng)前的用戶不具有保存文件的文件,這時(shí)候內(nèi)心是十分奔潰的,有沒(méi)有解決的方式呢?這時(shí)候tee
命令來(lái)解救我們的煩惱。
具體的操作就是在文件保存的時(shí)候輸入:w !sudo tee %
,這時(shí)候vi
會(huì)提醒你輸入sudo操作的密碼,輸入正確之后,文件就保存了,此時(shí)你可以安心的:q!
退出文件了。
場(chǎng)景6: 如何讓tee忽略中斷事件
-i
參數(shù)能夠讓tee
忽略中斷事件(SIGINT)
ping baidu.com | tee -i ping.log
參考:
https://www.howtoforge.com/linux-tee-command/
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux高并發(fā)踩過(guò)的坑及性能優(yōu)化介紹
大家好,本篇文章主要講的是Linux高并發(fā)踩過(guò)的坑及性能優(yōu)化介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12解決啟動(dòng)php-fpm后訪問(wèn)不到php文件的辦法
今天碰了一個(gè)很奇怪的問(wèn)題,當(dāng)啟動(dòng)php-fpm后,發(fā)現(xiàn)居然訪問(wèn)不到php文件了,后來(lái)通過(guò)查看日志、分析+搜索終于解決了,現(xiàn)在將整個(gè)過(guò)程分享給大家,也方便同樣遇到這個(gè)問(wèn)題的同學(xué)們參考借鑒,下面來(lái)一起看看吧。2016-12-12Linux實(shí)現(xiàn)修改只讀文件(以設(shè)置自動(dòng)連網(wǎng)為例)
這篇文章主要介紹了Linux實(shí)現(xiàn)修改只讀文件(以設(shè)置自動(dòng)連網(wǎng)為例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03linux設(shè)置服務(wù)開(kāi)機(jī)自啟動(dòng)的三種方式
這篇文章主要介紹了linux設(shè)置服務(wù)開(kāi)機(jī)自啟動(dòng)的三種方式,需要的朋友可以參考下2015-11-11Ubuntu20.04安裝Python3的虛擬環(huán)境教程詳解
這篇文章主要介紹了Ubuntu20.04安裝Python3的虛擬環(huán)境,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06Linux添加靜態(tài)路由兩種實(shí)現(xiàn)方法解析
這篇文章主要介紹了Linux添加靜態(tài)路由兩種實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08Ubuntu Server 18.04.5 LTS服務(wù)器版安裝配置圖解教程
Ubuntu分為桌面版(desktop)和服務(wù)器版(Server),下面為大家介紹服務(wù)器版本Ubuntu Server 18.04.5 LTS的詳細(xì)安裝過(guò)程,需要的朋友可以參考下2021-01-01