显示程序输出并复制到文件(tee 命令)

Posted Tina

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了显示程序输出并复制到文件(tee 命令)相关的知识,希望对你有一定的参考价值。

Linux tee命令用于读取标准输入的数据,并将其内容输出成文件。

tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

语法

tee [-ai][--help][--version][文件...]

参数

  • -a或--append  附加到既有文件的后面,而非覆盖它.
  • -i或--ignore-interrupts  忽略中断信号。
  • --help  在线帮助。
  • --version  显示版本信息。

实例

使用指令"tee"将用户输入的数据同时保存到文件"file1"和"file2"中,输入如下命令:

$ tee file1 file2                   #在两个文件中复制内容 

以上命令执行后,将提示用户输入需要保存到文件的数据,如下所示:

My Linux                        #提示用户输入数据  
My Linux                        #输出数据,进行输出反馈  

此时,可以分别打开文件"file1"和"file2",查看其内容是否均是"My Linux"即可判断指令"tee"是否执行成功。

 

与管道配合使用的 tee 命令会读取标准输入,然后将程序的输出写入标准输出,并且同时将它复制到所指定文件中。使用 tee 命令来立即查看输出,并且同时存储它以供将来使用。

例如,输入以下命令:
ps -ef | tee program.ps
技术分享图片这会在显示设备上显示 ps -ef 命令的标准输出,同时会将它的副本保存在 program.ps 文件中。如果 program.ps 文件已存在,那么除非指定了 set 内置命令的 noclobber 选项,否则会删除和替换该文件。
例如,要查看命令的输出并将该输出保存到现有文件中,请输入以下命令:
ls -l | tee -a program.ls
技术分享图片这会在显示设备上显示 ls -l 的标准输出,并且同时将它的一个副本追加至 program.ls 文件的末尾。
系统会显示类似以下内容的信息,并且 program.ls 文件包含相同信息:
-rw-rw-rw-   1 jones   staff   2301   Sep 19    08:53 161414
-rw-rw-rw-   1 jones   staff   6317   Aug 31    13:17 def.rpt
-rw-rw-rw-   1 jones   staff   5550   Sep 10    14:13 try.doc

以上是关于显示程序输出并复制到文件(tee 命令)的主要内容,如果未能解决你的问题,请参考以下文章

tee命令

批处理与tee命令结合,屏幕与日志双输出

管道命令输出到 tee 但也保存命令的退出代码 [重复]

Tee命令的几个使用实例

Linux下Shell命令的输出信息同时显示在屏幕和保存到日志文件中

tee命令用法