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

  read from standard input and write to standard output and files

  下面我们通过几个应用场景来熟悉tee命令。

  场景1: 如何使用tee命令(http://jlyy0831.com)

  tee命令格式是:

  1、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

  ...(http://www.0831jlyy.com)

  现在我们希望输出到控制台的同时,将输出到控制台的内容保存到另外的文件,以便其他的用途,那么这时候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: 如何向文件里面追加内容?(http://www.0834jlnk.com)

  上面的操作中,输出到ping-baidu.log,如果这个文件存在,则先将文件里面的内容全部清除,然后再输入内容,对于某些场景下这种方式则不适合,我们希望每次的输出是追加到文件里面,这时我们可以通过-a参数来指定.

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

  场景3: 如何同时输出到多个文件?

  直接在tee命令后面追加待输入的文件名即可,具体格式是:

  1、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)

  1、ping baidu.com | tee -i ping.log

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

Linux tee命令使用详解分享的更多相关文章

  1. linux nc命令使用详解(转)

    linux nc命令使用详解 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o& ...

  2. (转)Linux curl命令参数详解

    Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...

  3. (转)linux paste命令用法详解

    linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...

  4. (转)linux nc命令使用详解

    linux nc命令使用详解 原文:https://www.2cto.com/os/201306/220971.html 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网 ...

  5. Linux帮助命令man详解

    命令man详解 命令man,可以获得命令(使用whatis命令可以得到一个命令的简短介绍,可以使用:命令 --help 来获得命令的选项说明)或配置文件的帮助信息(可以使用apropos命令仅查看配置 ...

  6. linux dd命令实用详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  7. Linux常用命令与详解

    在Linux系统中文件删除.创建.更改等操作都是通过一个个不同的命令来完成我们想要的操作,那么什么是命令呢? 凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令.严格来说,命令通常 ...

  8. linux Tar 命令参数详解

    tar命令 . 作用 tar命令是Unix/Linux系统中备份文件的可靠方法,几乎可以工作于任何环境中,它的使用权限是所有用户. . 格式 tar [主选项+辅选项] 文件或目录 eg: tar z ...

  9. Linux 常用命令及详解

    1.  type   :查询命令 是否属于shell解释器2.  help  : 帮助命令3.  man : 为所有用户提供在线帮助4.  ls  : 列表显示目录内的文件及目录-l    以长格式显 ...

随机推荐

  1. 3-vim-打开和新建文件-02-删除交换文件

    vim的异常处理 如果vim异常退出,在磁盘上可能会保存有交换文件. 若使用vi编辑该文件时看到如下图信息,按下字母d就可以删除交换文件. 注意:输入命令操作的时候关闭输入法.

  2. Unity中对注册表进行修改

    问题背景: PC端软件开发,当我在Unity中的PlayerSetting中设置好分辨率,每次打包运行后会记忆上次退出时窗口的分辨率(记忆窗口状态),导致下次打开时不是PlayerSetting中的初 ...

  3. 前端自动化构建工具——gulp环境搭建教程

    gulp是前端工程化的工具,它可以对html,css,js等代码和图片进行压缩,也可以对sass和less等预处理语言进行编译,代码部署.gulp学起来简单,用起来方便,大大提高我们工作效率. 这里可 ...

  4. 安装php 在阿里云yum源的环境

    yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql ph ...

  5. jdk8中map新增的merge方法介绍

    1.Map.merge方法介绍 jdk8对于许多常用的类都扩展了一些面向函数,lambda表达式,方法引用的功能,使得java面向函数编程更为方便.其中Map.merge方法就是其中一个,merge方 ...

  6. windows 登陆服务器

    点击电脑的左下方开始,然后输入远字,如下图,就可以招到远程桌面了. 点击远程桌面就进入下图界面了.默认情况下,是在常规这个选项卡. 我们切换到显示,可以调节远程桌面的大小,一般我们设置成全屏显示.只要 ...

  7. Dubbo从拜师到入坟

    第一个Dubbo程序:Hello world 创建业务接口工程 我们将这个接口单独抽取出来,打成jar包被多个服务锁依赖 创建服务提供者Provider Provider工程的pom文件如下: < ...

  8. Struts2入门的第一个应用

    今天开始学习struts2技术,现在struts2的技术已经超过了struts1,所以本人就没有学习struts1了,当然这个肯定不会影响我们后面的学习,先来看一下工程的目录结构: 说明: query ...

  9. java web 在tomcat没有正常输出

    目录 文章背景 目录 问题介绍 问题解决 说明 参考文章 版本记录 文章背景 调试程序时候突然发现一些位置设置的日志输出没有了,最后总算是解决了! 目录 问题介绍 本地运行时候的环境如下: windo ...

  10. SP2713 GSS4 - Can you answer these queries IV(线段树)

    传送门 解题思路 大概就是一个数很少次数的开方会开到\(1\),而\(1\)开方还是\(1\),所以维护一个和,维护一个开方标记,维护一个区间是否全部为\(1/0\)的标记.然后每次修改时先看是否有全 ...