想知道如何在 Linux 中使用 tee 命令吗?别担心,我们会帮你搞定!
作为 Linux 用户,我们很少遇到不需要使用任何命令的日子。事实上,如果没有命令输入,您的系统根本无法运行。我们的计算机是一个操作系统,它执行数千条命令来满足我们的日常需求。
类似地,我们可能会遇到必须通过多个流而不是通常的线性方式发送输入的情况。也许我们需要通过某些通道发送特定输入并同时输出。在这种情况下,线性输入/输出函数无法有效地帮助我们。这就是tee
命令开始发挥作用。
此命令有效地复制了我们数据的所需部分并将其发送到输出和所需文件,从而通过文件提供了额外的输入路径。由于其“流式操作”,它可用于过滤器和管道。在这种情况下,您可以说流体是流向 stdout 和我们想要存储输入的文件的输入流。
现在我们已经有了足够的信息,让我们学习如何在 Linux 中使用 tee 命令。
tee
是一个非常有用的命令,它有助于拆分数据,以便我们可以通过不同的文件在某个时间点获得各种版本的输出。它用于将中间输出复制到程序中的文件或命令。
由于其重要性,它被视为一个基本命令,可在 Unix 和 Linux OS、DOS、Windows 等上使用。它也已移植到 IBM OS。
这tee
命令为中间命令的执行提供了一条额外的路径。因此,它节省了大量的时间和存储空间。其工作原理与下图所示类似。

一个很好的例子是想象自己使用命令“add”将两个整数和两个浮点数相加。现在,你可以打开两个终端窗口同时执行两个任务,或者您也可以在单个窗口中连续执行它们。
然而,使用tee
命令,您可以在一个文件中执行这两个程序并根据自己的意愿进行更改,同时只打开一个窗口。
句法。
tee 命令的一般语法是:
$ tee <options> <files>
我们先来看一个tee命令的简单演示:
以下命令将仅显示终端屏幕。
$ ls
以下命令将输出写入文件:
$ ls > <file name>
例如:
$ ls > file1.txt
现在,输入以下命令将使用 tee 将输出复制到文件以及标准输出。
$ ls | tee <file>
我们还可以将 tee 命令的功能扩展至多个文件。
$ ls | tee <file1> <file2> <file3>
如果没有tee
命令,您将获得以下输出:

和tee
命令,它会将内容写入 .txt 文件,同时将标准输出写入终端如下所示:


介绍了语法之后,让我们看一下选项,以便您更好地了解如何在 Linux 中使用 tee 命令。
选项说明。
tee 命令有各种选项来控制输出操作和写入数据的文件。现在我们逐一介绍这些选项。
–a,--append
: 此选项将文件上的数据合并成一个更大的文件。通常,对同一个文件使用 tee 命令会覆盖该文件中的数据。但是,使用 append 选项,我们可以添加到以前的数据中,而无需覆盖。
要附加,请键入tee
命令-a
选项如下图所示:
$ ping google.com | tee -a ping.txt



-i,--ignore interrupts
: 当我们想要忽略我们的命令或程序发出的任何中断时使用此选项。
中断是一种强制停止,可能由用户或程序本身引起,以指示程序执行过程中的某个时刻出现错误或警告。在这种情况下,忽略被中断,命令正常继续将数据写入文件和标准输出。
–p,
模式: 此选项有助于将错误诊断写入非管道。使用 -p 作为选项会导致 tee 命令在发生故障时打印错误。
默认情况下,tee 命令会打印错误消息。但是,可以通过调整模式来更改此处理顺序,如后文所述。
--help
用于显示有关命令的帮助。

--version
用于显示版本。

输出重定向到另一个命令。
我们还可以使用 tee 命令将文件的输出重定向或转发为其他命令的输入。为此,我们在终端窗户。
$ ls file* | tee.output.txt | wc -l
或者更普遍一点。
$ <command1> | tee <option> <filename> | <command2>
在上面的指令中,“command2”参数是要传递输出的参数。
一般来说tee
命令具有以下语法。
$ <command> | tee <options> <file>
写入文件时隐藏标准输出。
可以使用 Tee 命令来隐藏终端但仍然写入文件。当您只想让命令树显示在终端没有任何数据。
您可以输入以下命令:
$ <command> | tee <filename> >/dev/null
这将隐藏终端屏幕。

tee 命令的模式。
下面简单介绍一下tee命令的4种主要模式:
- 出口。在这种模式下,tee 命令在错误发生后退出并写入任何输出。
- 退出无管道。允许 tee 在错误发生后退出,但写入非管道输出。
- 警告。在这种模式下,tee 可以诊断警告并打印到任何输出。
- 警告无管道。在这种模式下,tee 可以诊断警告并打印到非管道输出。
将管道的控制权转移给用户以提高输出效率并连接多个命令和选项,将 tee 命令称为核心终端命令之一并不为过。
如果你想获得 Linux 的 tee 命令的详细命令图和说明,你可以前往其主页。
此外,如果你想知道如何从系统中删除选择性模块,请查看。
我们希望本指南能帮助您了解如何在 Linux 中使用 tee 命令。如果您有任何问题或疑问,请在下面的评论部分告诉我们。
如果本指南对您有帮助,请分享。🙂