linux命令tee

tee命令主要被用来向standout(标准输出流,通常是命令执行窗口)输出的同时也将内容输出到文件

[root@ZGQ-SRV-2 ~]# ping www.baidu.com
PING www.a.shifen.com (14.215.177.39) 56(84) bytes of data.
64 bytes from 14.215.177.39: icmp_seq=1 ttl=53 time=27.0 ms
64 bytes from 14.215.177.39: icmp_seq=2 ttl=53 time=26.8 ms
64 bytes from 14.215.177.39: icmp_seq=3 ttl=53 time=26.5 ms

上面的ping命令只是输出到了控制台,如果我们既想打印到控制台,又想保存到文件,可以使用tee

[root@ZGQ-SRV-2 ~]# ping baidu.com | tee ping-baidu.log
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110: icmp_seq=1 ttl=49 time=44.1 ms
64 bytes from 123.125.115.110: icmp_seq=2 ttl=49 time=45.2 ms
64 bytes from 123.125.115.110: icmp_seq=3 ttl=49 time=45.0 ms
[root@ZGQ-SRV-2 ~]# cat ping-baidu.log 
PING baidu.com (123.125.115.110) 56(84) bytes of data.
64 bytes from 123.125.115.110: icmp_seq=1 ttl=49 time=44.1 ms
64 bytes from 123.125.115.110: icmp_seq=2 ttl=49 time=45.2 ms
64 bytes from 123.125.115.110: icmp_seq=3 ttl=49 time=45.0 ms

追加模式
重新执行上面的ping,并不能保存上一次的信息,有的时候我们是想要追加到文件中,在可以使用 -a参数

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

输出到多个文件,只需要接多个文件名即可,空格隔开

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

忽略中断时间,-i参数

ping baidu.com | tee -i ping.log

使用tee命令来提高写入文件的权限等级
在实际操作liunx服务器的时候,我们在配置某些文件的时候,配置完了,保存的时候,发现自己当前的用户不具有保存文件的文件,这时候内心是十分奔溃的,有没有解决的方式呢?这时候tee命令来解救我们的烦恼。
具体的操作就是在文件保存的时候输入:w !sudo tee %,这时候vi会提醒你输入sudo操作的密码,输入正确之后,文件就保存了,此时你可以安心的:q!退出文件了。

内容转自https://blog.csdn.net/jjlovefj/article/details/83176871

你可能感兴趣的:(linux)