Linux tee 命令

2025年3月17日 | 阅读 3 分钟

Linux tee 命令与 'cat' 命令非常相似,只有一个区别。它将标准输入(stdin)输出到标准输出(stdout),同时也将它们写入一个文件。它是通过管道与其他命令一起使用的最常用的命令之一。它允许我们将从标准输入提供的任何内容写入标准输出。可选地,它提供了写入一个或多个文件的功能。命令名 tee 来自于管道中使用的 T 型分流器。

语法

选项

以下是一些可以与 tee 命令一起使用的有用选项,以使其更具体

-a, --append: 用于将数据附加到指定的文件,而不是覆盖数据。

-i, --ignore-interrupts: 用于忽略中断信号。

-p: 用于诊断向非管道写入时发生的错误。

--output-error[=MODE]: 用于设置写入错误模式下的行为。

--help: 用于显示帮助文档。

--version: 用于显示版本信息。

tee 命令的示例

让我们看下面的 tee 命令示例

如何使用 tee 命令

tee 命令用于将标准输入写入标准输出和文件。它在管道之后使用。要写入标准输出和文件,请在管道后指定 tee 命令,并提供文件名。考虑下面的命令

上述命令会将 'weeks.txt' 的输入写入 'newfile.txt'。考虑下面的输出

Linux tee Filters

从上面的输出中可以看到,使用 tee 命令创建了一个名为 'newfile.txt' 的文件。

写入文件并追加输出

'-a' 选项与 tee 命令一起使用,以追加输出并将其写入文件。考虑下面的命令

上述命令会将指定的输入追加到 'newfile.txt'。考虑下面的输出

Linux tee Filters

从上面的输出可以看到,指定的输入已追加到 'newfile.txt'。

将数据状态写入文件

将数据状态写入文件对于进行备份或创建调试目的的数据快照非常有用。使用 tee 命令可以轻松完成。

要将数据状态写入文件,请执行以下命令

上述命令会将数据写入 pipe1.txt。考虑下面的输出

Linux tee Filters

从上面的输出中可以看到,当前工作目录数据的快照已存储在 'newfile.txt' 中。

写入多个文件

tee 命令允许我们写入多个文件。要写入多个文件,请按如下方式在 tee 命令后指定文件名

上述命令将创建所有指定的文件。考虑下面的输出

Linux tee Filters

写入特权文件

tee 命令允许我们写入具有 sudo 权限的文件。如果我们尝试写入 root 用户拥有的文件,将会出现权限错误。但是,我们可以通过执行以下 tee 命令来提升 sudo 权限

忽略中断

'-i' 选项用于忽略中断。如果您想在执行过程中优雅地停止和退出命令,这非常有用。用法如下

隐藏输出

要阻止 tee 命令写入标准输出,请将其重定向到 "/dev/null"。执行以下命令

考虑下面的输出

Linux tee Filters
下一个主题Linux tr