Linux tee命令使用详解
tee命令主要被用来向standout(标准输出流,通常是命令执行窗口)输出的同时也将内容输出到文件,下面是tee的man信息
readfromstandardinputandwritetostandardoutputandfiles
下面我们通过几个应用场景来熟悉tee命令。
场景1:如何使用tee命令
tee命令格式是:
tee[OPTION]...[FILE]...
从man文件的定义了解tee从标准输入流读取数据,所以这里我们使用一个简单的命令产生输出流作为tee的输入流,这里就选用ping命令,
[mysql@localhost~]$pingbaidu.com PINGbaidu.com(220.181.57.216)56(84)bytesofdata. 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=1ttl=128time=30.1ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=2ttl=128time=33.1ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=3ttl=128time=31.9ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=4ttl=128time=30.9ms ...
现在我们希望输出到控制台的同时,将输出到控制台的内容保存到另外的文件,以便其他的用途,那么这时候tee命令就可以发挥作用了,
[mysql@localhost~]$pingbaidu.com|teeping-baidu.log#输出到控制台的同时,将内容保存到ping-baidu.log文件中 PINGbaidu.com(220.181.57.216)56(84)bytesofdata. 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=1ttl=128time=30.6ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=2ttl=128time=30.5ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=3ttl=128time=30.2ms ^C[mysql@localhost~]$catping-baidu.log#检查文件内容是否和输出一致 PINGbaidu.com(220.181.57.216)56(84)bytesofdata. 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=1ttl=128time=30.6ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=2ttl=128time=30.5ms 64bytesfrom220.181.57.216(220.181.57.216):icmp_seq=3ttl=128time=30.2ms
场景2:如何向文件里面追加内容?
上面的操作中,输出到ping-baidu.log,如果这个文件存在,则先将文件里面的内容全部清除,然后再输入内容,对于某些场景下这种方式则不适合,我们希望每次的输出是追加到文件里面,这时我们可以通过-a参数来指定.
pingbaidu.com|tee-aping-baidu.log
场景3:如何同时输出到多个文件?
直接在tee命令后面追加待输入的文件名即可,具体格式是:
pingbaidu.com|teeping.logping-baidu.log
场景4:如何将tee命令的输出重定向为另一个命令的输入流
直接在tee命令后面接|和下一个命令,就是按照pipeline的方式来弄
场景5:通过使用tee命令来提高写入文件的权限等级
在实际操作liunx服务器的时候,我们在配置某些文件的时候,配置完了,保存的时候,发现自己当前的用户不具有保存文件的文件,这时候内心是十分奔溃的,有没有解决的方式呢?这时候tee命令来解救我们的烦恼。
具体的操作就是在文件保存的时候输入:w!sudotee%,这时候vi会提醒你输入sudo操作的密码,输入正确之后,文件就保存了,此时你可以安心的:q!退出文件了。
场景6:如何让tee忽略中断事件
-i参数能够让tee忽略中断事件(SIGINT)
pingbaidu.com|tee-iping.log
参考:
https://www.howtoforge.com/linux-tee-command/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。