几乎所有高级用户在与 Linux 系统交互时都喜欢使用命令行界面。默认情况下,在标准输出流上显示它们的输出。但是,有时我们需要将此输出存储在文件中以进行调试。
当然,我们可以使用重定向运算符来实现这一点。但是,此方法的一个小限制是它仅将输出存储在文件中。
为了克服这个限制,我们可以发球命令从标准输入流读取并写入标准输出流和文件。
在本实用指南中,我们将看到 tee 命令的各种示例。在本指南结束时,Linux 用户将能够使用 tee 命令来满足他们的编程需求。
tee 命令语法
的语法球座命令与其他 Linux 命令类似。在较高的层面上,它分为两组——OPTIONS和FILES:
$ tee [OPTIONS] [FILE1] [FILE2] [FILE3] ...
在上面的语法中,两者OPTIONS和FILES是可选参数。
1. 在 Linux 中将输出保存到文件
正如前面所讨论的,球座命令将输出发送到标准输出以及文件。为了理解这一点,首先让我们使用在标准输出流上显示文本:
$ echo "tecmint.com"
现在,让我们使用发球命令将输出写入输出.txt文件:
$ echo "tecmint.com" | tee output.txt
最后查看内容输出.txt文件使用。
$ cat output.txt

在上面的输出中,我们可以看到发球命令将输出发送到文件以及标准输出流。
2. 在 Linux 中将输出附加到文件
默认情况下,发球命令覆盖输出文件。但是,我们可以通过启用附加模式来避免这种情况,该模式将输出附加到文件末尾:
$ echo "tecmint.com" | tee -a output.txt $ cat output.txt

在这个例子中,我们使用了-a启用附加模式的选项。
3. 在 Linux 中将输出写入多个文件
同样,我们可以使用球座命令将输出写入多个文件,如图所示。
$ echo "tecmint.com" | tee file-1.txt file-2.txt file-3.txt
在此示例中,我们提供了多个文件作为命令行参数。现在,让我们使用显示文件的内容:
$ head -v file-1.txt file-2.txt file-3.txt

4. 将一个命令的输出发送到另一个命令
此外,我们还可以使用球座使用管道运算符的命令(|)。当我们想要存储输出并将其转发到另一个命令时,此方法会派上用场。
$ echo "tecmint.com" | tee example.txt | wc -c $ cat example.txt

在这个例子中,首先,我们使用球座命令将输出写入文件。接下来,我们将使用来计算字符数。
5. 在 Linux 中隐藏文件的输出
在前面的示例中,我们使用了球座命令将输出发送到标准输出。然而,在一些罕见的情况下,我们想要抑制输出。在这种情况下,我们可以将输出重定向到/dev/空设备:
$ echo "tecmint.com" | tee output.txt > /dev/null $ cat output.txt

6. 将输出写入特权文件
有时,我们需要将输出写入特权文件。然而,我们不能仅使用球座命令。在这种情况下,我们可以结合使用须藤和球座命令。
首先,让我们使用以下命令更改文件的所有权:
$ sudo chown root:root output.txt
接下来,我们将一些文本附加到输出.txt使用以下命令创建文件:
$ echo "tecmint.com" | sudo tee -a output.txt
最后,我们来验证一下文件是否已经更新成功。

7. 在Linux中编辑特权文件
以类似的方式,我们可以使用须藤和球座命令来编辑特权文件。为了理解这一点,首先,让我们打开一个特权文件并向其中添加一些文本:
$ vim output.txt
现在,让我们使用下面的维姆更新文件的命令:
:w !sudo tee %
8. 忽略中断信号(SIGINT)
在Linux中,我们使用Ctrl+c组合键发送信号情报信号。该信号的默认行为是终止进程。但是,我们可以使用-i忽略中断的选项:
$ echo "tecmint.com" | tee -i example.txt $ cat example.txt

在本指南中,我们了解了球座命令使用一些实际示例。用户在通过命令行界面使用 Linux 系统时可以参考本指南。
你还知道其他最好的例子吗?球座Linux 中的命令?请在下面的评论中告诉我们您的看法。
