Linux tee命令使用详解
tee
命令主要被用来向standout(标准输出流,通常是命令执行窗口)输出的同时也将内容输出到文件,下面是tee
的man 信息
read from standard input and write to standard output and files
下面我们通过几个应用场景来熟悉tee
命令。
场景1: 如何使用tee命令
tee命令格式是:
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 ...
现在我们希望输出到控制台的同时,将输出到控制台的内容保存到另外的文件,以便其他的用途,那么这时候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: 如何向文件里面追加内容?
上面的操作中,输出到ping-baidu.log,如果这个文件存在,则先将文件里面的内容全部清除,然后再输入内容,对于某些场景下这种方式则不适合,我们希望每次的输出是追加到文件里面,这时我们可以通过-a
参数来指定.
ping baidu.com | tee -a ping-baidu.log
场景3: 如何同时输出到多个文件?
直接在tee
命令后面追加待输入的文件名即可,具体格式是:
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)
ping baidu.com | tee -i ping.log
参考:
https://www.howtoforge.com/linux-tee-command/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:如何在CentOS8上安装和配置Postfix邮件服务器的方法示例
栏 目:Linux/apache
本文标题:Linux tee命令使用详解
本文地址:https://www.xiuzhanwang.com/a1/Linux_apache/10636.html
您可能感兴趣的文章
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux依次执行命令 linux命令的执行过程是怎样的?新手必读
- 04-02linux命令免输入 linux配置免密登录
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02软交换linux命令 软交换网络主要协议有哪些
- 04-02linux命令历史记录 linux查看历史记录的操作命令
- 04-02linux命令页面 linux命令页面中文
阅读排行
本栏相关
- 04-02linux关闭串口命令 关闭linux端口命令
- 04-02linux文件命令重命名 linux重命名文件名
- 04-02linux中jobs命令 shell jobs命令
- 04-02linux命令注入过滤 linux 代码注入
- 04-02linux依次执行命令 linux命令的执行过程
- 04-02linux命令注销vnc linux命令行注销用户
- 04-02linux命令免输入 linux配置免密登录
- 04-02软交换linux命令 软交换网络主要协议
- 04-02linux命令历史记录 linux查看历史记录的
- 04-02linux命令页面 linux命令页面中文
随机阅读
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 01-10delphi制作wav文件的方法
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 01-10SublimeText编译C开发环境设置
- 04-02jquery与jsp,用jquery
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05织梦dedecms什么时候用栏目交叉功能?
- 01-10C#中split用法实例总结
- 01-11ajax实现页面的局部加载