Linux tee命令使用詳解分享


  tee命令主要被用來向standout(標准輸出流,通常是命令執行窗口)輸出的同時也將內容輸出到文件,下面是tee的man 信息

  read from standard input and write to standard output and files

  下面我們通過幾個應用場景來熟悉tee命令。

  場景1: 如何使用tee命令(http://jlyy0831.com)

  tee命令格式是:

  1、tee [OPTION]... [FILE]...

  從man文件的定義了解 tee從標准輸入流讀取數據,所以這里我們使用一個簡單的命令產生輸出流作為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

  ...(http://www.0831jlyy.com)

  現在我們希望輸出到控制台的同時,將輸出到控制台的內容保存到另外的文件,以便其他的用途,那么這時候tee命令就可以發揮作用了,

  [mysql@localhost ~]$ ping baidu.com | tee ping-baidu.log #輸出到控制台的同時,將內容保存到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 #檢查文件內容是否和輸出一致

  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: 如何向文件里面追加內容?(http://www.0834jlnk.com)

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

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

  場景3: 如何同時輸出到多個文件?

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

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

  場景4: 如何將tee命令的輸出重定向為另一個命令的輸入流

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

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

  在實際操作liunx服務器的時候,我們在配置某些文件的時候,配置完了,保存的時候,發現自己當前的用戶不具有保存文件的文件,這時候內心是十分奔潰的,有沒有解決的方式呢?這時候

  tee命令來解救我們的煩惱。

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

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

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

  1、ping baidu.com | tee -i ping.log

  以上就是本文的全部內容,希望對大家的學習有所幫助。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM