您好,登錄后才能下訂單哦!
小編給大家分享一下linux系統中如何使用Tee命令,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!
Tee指令會從標準輸入設備讀取數據,將其內容輸出到標準輸出設備,同時保存成文件。
tee 選項 文件名
tee命令的主要功能是顯示命令的輸出并將其保存到一個文件中。在下面的示例中,我們檢查系統中的塊設備并將結果發送到tee命令,tee命令將輸出顯示到終端,同時將其保存在devices.txt的文件中:
[root@localhost ~]# lsblk | tee devices.txt
可以使用cat命令檢查devices.txt文件的內容,如下所示:
[root@localhost ~]# cat devices.txt
此外,可以將命令的輸出寫入多個文件,用空格分隔。如下所示:
[root@localhost ~]# hostnamectl | tee file1.txt file2.txt
我們調用了hostnamectl命令來打印系統的主機名以及其他詳細信息,并將標準輸出保存為兩個文件file1.txt和file2.txt
使用cat命令查看file1.txt和file2.txt:
如果你想隱藏或禁止tee命令在屏幕上打印輸出,那么將輸出重定向到/dev/null,如下所示:
[root@localhost ~]# df -Th | tee file4.txt > /dev/null
默認情況下,tee命令覆蓋文件的內容。若要追加輸出并防止擦除當前內容,請使用-a或–append選項。
[root@localhost ~]# lsblk | tee file1.txt[root@localhost ~]# date | tee -a file1.txt[root@localhost ~]# cat file1.txt
上面命令中,第一條命令時將內容輸出到file1.txt,第二條命令tee命令加上了-a
選項,就可以追加內容到file1.txt里面了,第三條命令用cat查看file1.txt,發現上面兩條命令輸出的內容都保存下來了。
假設只可以用一個sudo用戶,希望寫入root用戶擁有權限的文件。任何提升操作都需要在命令之前調用sudo用戶。要實現這一點,只需在tee命令前面加上sudo,如下所示:
[bob@localhost ~]$ echo "10.200.50.20 db-01" | sudo tee -a /etc/hosts/
使用tee命令,我們可以將一個命令的輸出重定向到另一個命令。這里,第一個命令的輸出將作為第二個命令的輸入。示例如下:
[root@localhost ~]# grep 'root' /etc/passwd | tee /tmp/passwd.tmp | wc -l2 [root@localhost ~]# cat /tmp/passwd.tmproot:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [root@localhost ~]#
假設你是一個非root用戶,你正在修改root用戶擁有的文件,忘記使用sudo權限打開文件,現在你想保存更改,示例如下:
[bob@localhost ~]$ vim /etc/hosts
現在要將更改保存到vim編輯器中的/etc/hosts文件,請運行:
:w !sudo tee %
上面提示輸入用戶的密碼,輸入完成之后即可保存成功。
看完了這篇文章,相信你對“linux系統中如何使用Tee命令”有了一定的了解,如果想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。