Linux tee命令使用详解

 更新时间:2019年12月03日 14:40:05   作者:小姜dot  
这篇文章主要介绍了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/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Linux Apache+Proftpd构建虚拟主机时要注意的几个安全问题

    Linux Apache+Proftpd构建虚拟主机时要注意的几个安全问题

    Linux下Apache+Proftpd构建虚拟主机时要注意的几个安全问题,大家可以参考下,有其它未完整的地方,大家可以补充下。
    2009-08-08
  • vscode远程开发使用SSH远程连接服务器的方法「内网穿透」

    vscode远程开发使用SSH远程连接服务器的方法「内网穿透」

    这篇文章主要介绍了vscode远程开发使用SSH远程连接服务器 「内网穿透」,通过本文学习我们将通过vscode实现远程开发,并做内网穿透实现在公网环境下的远程连接,在外任意地方也可以远程连接服务器进行开发写代码,需要的朋友可以参考下
    2023-02-02
  • Ubuntu无网络连接及标识的解决方法

    Ubuntu无网络连接及标识的解决方法

    本文已解决 Ubuntu无网络连接/无网络标识解决方法的相关问题,并总结提出了几种可用解决方案,如果有遇到相同问题的朋友可以参考阅读下本文,对解决问题有一定的帮助
    2024-09-09
  • CentOS7.0下安装FTP服务的方法

    CentOS7.0下安装FTP服务的方法

    本篇文章主要介绍了CentOS7.0下安装FTP服务的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Linux中对mysql用户进行管理的操作代码

    Linux中对mysql用户进行管理的操作代码

    这是在Linux里面对MySQL数据库的用户进行管理,其中包括查看全部用户以及权限、赋予增删改查权限、赋予远程连接%权限、删除用户的权限、删除用户、修改密码等,本文给大家详细介绍了Linux中对mysql用户进行管理的操作代码,需要的朋友可以参考下
    2024-11-11
  • CentOS使用本地yum源搭建LAMP环境图文教程

    CentOS使用本地yum源搭建LAMP环境图文教程

    这篇文章主要介绍了CentOS使用本地yum源搭建LAMP环境,详细分析了CentOS使用本地yum源搭建LAMP的具体步骤、相关命令及操作注意事项,需要的朋友可以参考下
    2019-06-06
  • Linux系统(Centos6.5以上)安装jdk教程解析

    Linux系统(Centos6.5以上)安装jdk教程解析

    这篇文章主要介绍了Linux系统(Centos6.5以上)安装jdk教程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • Windows下搭建PHP开发环境(Apache+PHP+MySQL)

    Windows下搭建PHP开发环境(Apache+PHP+MySQL)

    PHP集成开发环境有很多,如XAMPP、AppServ......只要一键安装就把PHP环境给搭建好了。但这种安装方式不够灵活,软件的自由组合不方便,同时也不利于学习。所以我还是喜欢手工搭建PHP开发环境,需要哪个模块自己安装就行了,或者那个软件需要升级,直接升级那个软件就行了,并不影响其他软件,非常方便
    2013-01-01
  • Linux入门之网络系统详解

    Linux入门之网络系统详解

    大家好,本篇文章主要讲的是Linux入门之网络系统详解,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下,方便下次浏览
    2021-12-12
  • Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置

    Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置

    这篇文章主要介绍了Red Hat Linux,Apache2.0+Weblogic9.2负载均衡集群安装配置,需要的朋友可以参考下
    2014-12-12

最新评论