tee 与重定向/附加有何不同?

kat*_*ure 1 tee

如果我们想将刚刚在 stdin 中写入的内容复制粘贴到 stdout,我们可以使用重定向>或追加>>

tee从 stdin 写入到 stdout有何不同?

raj*_*raj 6

tee有一个输入和两个输出(因此得名,以管道中使用的三通组件命名)。使用>or进行重定向,>>具有 1 个输入和1 个输出。

使用tee,您可以将 stdin 重定向stdout(第二个副本)到指定为 的参数的文件tee。重定向>>>不能这样做。

例如,如果您输入:

ls -l | tee file-list
Run Code Online (Sandbox Code Playgroud)

您会在终端上看到一个目录列表,并且同时将其复制到文件中file-list。但是如果你输入

ls -l > file-list
Run Code Online (Sandbox Code Playgroud)

目录列表仅存储在文件中file-list,终端上没有输出。

  • @kature对于一些产生大量输出的长时间运行的操作(这在系统管理任务中并不罕见),您可能需要实时观察终端输出(在出现问题时做出反应),但也需要将其记录在文件中以便稍后分析(或者只是记录您所做的事情)。这些是 `tee` 有用的情况。 (2认同)