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. D-Ubuntu中修改MySQL的默认数据集(client和server)

    Ubuntu16.04,MySQL5.7 1, sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf 使用vim编辑MySQL的配置文件,不同版本的MySQL配置文件 ...

  2. hdu 3486

    题意:n个人,每个人的价格a[  i  ] ,求最少分几组,每组取一个人,多出来的人就不考虑,使得这取出人的价格大于k.(每组人数一样) 分析:每组取一个人,那这个人肯定是这组最大的,枚举多少组就可以 ...

  3. 二维RMQ hdu 2888

    题目:点这里 题意:给出一个n*m的矩阵,然后又Q个询问:每个询问有x1,y1,x2,y2,x1,y1为子矩阵的左上角坐标,x2,y2为右上角的坐标.求此子矩阵中元素最大值,判断最大值是否在子矩阵四个 ...

  4. selenium IDE的安装及录制回放的简单使用

    1.Selenium IDE下载地址为http://docs.seleniumhq.org/download/(需要翻墙) 2.直接单机“Download version”后面的版本号即可开始下载 3 ...

  5. 图(graph)

    一.非线性结构:图 图由顶点集V,集合规模为n,在n个顶点之间可能存在对应关系,我们用连边来描述这种,即边E,规模为e. 邻接关系:顶点与顶点之间的关系:关联关系:顶点与它相连的边的关系.序列结构(v ...

  6. leetcood学习笔记-206-反转链表

    题目描述: 最佳解: class Solution(object): def reverseList(self, head): """ :type head: ListN ...

  7. c++ TCP 获取客户端IP

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<errno.h> #i ...

  8. Ruby 数据类型

    Ruby 数据类型 本章节我们将为大家介绍 Ruby 的基本数据类型. Ruby支持的数据类型包括基本的Number.String.Ranges.Symbols,以及true.false和nil这几个 ...

  9. CF 398 E(动态规划)

    传送门: http://codeforces.com/problemset/problem/398/E 题解: 首先答案不超过2. 最长环=1时,ans=0 最长环=2时,ans=1 否则,ans=2 ...

  10. Linux/Mac中alias的使用

    最近在设置代理的时候,每次手写不方便,想起linux有个alias命令可以用,防止忘记,这边记录一下 一.alias 设置 1.设置别名 proxy # 1. # 设置别名前,使用 `type 自定义 ...