小知识:linux tee 命令使用详解(大量实例)

tee

  功能说明:读取标准输入的数据,并将其内容输出成文件

  语   法:tee [-ai][–help][–version][文件…]

  补充说明:tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。我们可利用tee把管道导入的数据存成文件,甚至一次保存数份文件。

  参   数:-a 附加到既有文件的后面,而非覆盖它。如果给予tee指令的文件名称已经存在,预设会覆盖该文件的内容。加上此参数后,数据会新增在该文件内容的最后面,而不会删除原先之内容。

       -i 忽略中断信号

       –help 在线帮助

       –version 显示版本信息

  范   例:

  列出文本文件slayers.story的内容,同时复制3份副本,文件名称分别为ss-copy1、ss-copy2、ss-copy3:

  $ cat slayers.story |tee ss-copy1 ss-copy2 ss-copy3

tee [-ai][–help][–version][文件…]

【功能】

tee以标准输入作为输入,标准输出和文件作为输出。

【举例】

tee file     //覆盖

tee -a file    //追加

tee –        //输出到标准输出两次

tee – –    //输出到标准输出三次

tee file1 file2 –    //输出到标准输出两次,并写到那两个文件中

ls | tee file  

另:把标准错误也被tee读取

ls “*” 2>&1 | tee ls.txt

*用tee生成一个文件,包含你敲入的内容:

复制代码

代码如下:

$tee testfile

这样,会提示要你用标准输入输入内容,然后敲回车会将你输入的内容写入testfile和输出到标准输出,如果用[Ctrl]d结束输入([Ctrl]c也行)。如果原来testfile有内容,将会覆盖。

*把内容追加到文件的末尾行:

复制代码

代码如下:

$tee -a testfile

结果类似上,不过如果原来testfile有内容则不会覆盖而是追加。

*生成一个文件,敲入的时候,不接受中断信号:

复制代码

代码如下:

$tee -i testfile

结果同testfile,不过不会接收中断信号,只能用[Ctrl]d结束,而不能用[Ctrl]c了。

*执行ls列出目录文件同时将输出保存到文件test中:

复制代码

代码如下:

$ls | tee test

这样,会像平时一样执行ls命令并将当前目录的文件名输出到标准输出。另外由于进行了tee命令,所以会生成一个test文件,这个test文件的内容和标准输出的内容一样。

【描述】

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。可以用于既想看到标准输出,又想将标准输出保存到文件中的情况。

参数:

 -a或–append  附加到既有文件的后面,而非覆盖它.

 -i-i或–ignore-interrupts  忽略中断信号。

 –help  在线帮助。

 –version  显示版本信息。

常用参数

格式:tee

只输出到标准输出,因为没有指定文件嘛。

格式:tee file

输出到标准输出的同时,保存到文件file中。如果文件不存在,则创建;如果已经存在,则覆盖之。(If a file being written to does not already exist, it is created. If a file being written to already exists, the data it previously

contained is overwritten unless the `-a option is used.)

格式:tee -a file

输出到标准输出的同时,追加到文件file中。如果文件不存在,则创建;如果已经存在,就在末尾追加内容,而不是覆盖。

格式:tee –

输出到标准输出两次。(A FILE of `- causes `tee to send another copy of input to standard output, but this is typically not that useful as the copies are interleaved.)

格式:tee file1 file2 –

输出到标准输出两次,同时保存到file1和file2中。

使用示例补充:

示例一 tee命令与重定向的对比

[root@web ~]# seq 5 >1.txt 

[root@web ~]# cat 1.txt 

[root@web ~]# cat 1.txt >2.txt 

[root@web ~]# cat 1.txt | tee 3.txt 

[root@web ~]# cat 2.txt 

[root@web ~]# cat 3.txt 

[root@web ~]# cat 1.txt >>2.txt 

[root@web ~]# cat 1.txt | tee -a 3.txt 

[root@web ~]# cat 2.txt 

[root@web ~]# cat 3.txt 

[root@web ~]#

示例二 使用tee命令重复输出字符串

[root@web ~]# echo 12345 | tee 

12345

[root@web ~]# echo 12345 | tee – 

12345

12345

[root@web ~]# echo 12345 | tee – – 

12345

12345

12345

[root@web ~]# echo 12345 | tee – – – 

12345

12345

12345

12345

[root@web ~]# echo 12345 | tee – – – – 

12345

12345

12345

12345

12345

[root@web ~]#

[root@web ~]# echo -n 12345 | tee

12345[root@web ~]# echo -n 12345 | tee – 

1234512345[root@web ~]# echo -n 12345 | tee – – 

123451234512345[root@web ~]# echo -n 12345 | tee – – – 

12345123451234512345[root@web ~]# echo -n 12345 | tee – – – – 

1234512345123451234512345[root@web ~]#

示例三 使用tee命令把标准错误输出也保存到文件

[root@web ~]# ls “*” 

ls: *: 没有那个文件或目录

[root@web ~]# ls “*” | tee – 

ls: *: 没有那个文件或目录

[root@web ~]# ls “*” | tee ls.txt 

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt 

[root@web ~]# ls “*” 2>&1 | tee ls.txt 

ls: *: 没有那个文件或目录

[root@web ~]# cat ls.txt 

ls: *: 没有那个文件或目录

[root@web ~]#
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:系统强化 指点你怎样强化Linux安全

2023-6-12 4:35:06

建站知识

小知识:linux ssh是什么?Linu怎么修改SSH端口号?

2023-6-12 4:51:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索