Linux 中的 Tee 命令举例说明

发球命令 从标准输入读取并写入标准输出和文件。

结果是您可以看到命令的输出并同时将其保存到文件中。

换句话说,您有一个输入被引导到两个输出。

如果您熟悉 Linux 中的重定向概念,这一切都会更有意义。

tee 命令的功能

该命令以 三通接头 用于电力、管道和其他行业。 它们被称为 tee,因为它们类似于字母“T”。

现在您已经了解了 tee 命令的用途,让我们看看如何在 Linux 中使用 tee 命令。

三通命令示例

tee 命令有一个简单的语法:

tee [OPTION] [FILE]

请记住, tee 几乎总是从标准输入读取,您将在另一个命令的结合中使用它。

让我给你看一些例子。

1.显示命令输出并保存到文件

让我们看一个基本情况,您要计算文件中的行数。 您想查看文件中有多少行并将该数字保存到另一个文件中。

[email protected]:~$ wc -l agatha.txt | tee count.txt
20 agatha.txt

文件计数不存在,因此它将创建一个名为 count 的新文件。 如果您看到文件计数的内容,您将看到与您在显示屏上看到的相同的输出。

[email protected]:~$ cat count.txt 
20 agatha.txt

注意:默认情况下,tee 命令会覆盖文件的内容。 如果您愿意,可以使用附加选项 -a :
wc -l agatha.txt | tee -a count.txt

2.显示命令输出并保存到多个文件

如果要将命令输出保存到多个文件,也可以使用 tee 命令执行此操作。 您只需要指定文件。

[email protected]:$ wc -l agatha.txt | tee count1.txt count2.txt
20 agatha.txt

您可以验证相同的输出是否已存储在上述两个文件中。

[email protected]:~$ cat count1.txt count2.txt 
20 agatha.txt
20 agatha.txt

我希望你知道你可以在 Linux 中使用 cat 命令同时查看多个文件。

3.将命令输出解析为另一个命令,同时将其保存到文件中

您并不总是需要查看命令输出。 由于它是标准输出,因此您可以将其通过管道传递给另一个命令。

采取下面的命令 example.

[email protected]:~$ ls -l | tee count.txt | wc -l
 7

这里发生的是“ls -l”命令的输出通过管道传送到 tee 命令。 现在 tee 命令将“ls -l”的输出存储在 count.txt 文件中,但不是显示此输出,而是通过管道传送到计算行数的“wc -l”命令。

在这种情况下,您看到的输出是“wc -l”命令的输出。 ‘ls -l’ 命令的输出存储在文件 count.txt 中。

[email protected]:~$ cat count.txt 
 total 20
 -r--r--r-- 1 abhishek abhishek  456 Dec 11 21:29 agatha.txt
 -rw-r--r-- 1 abhishek abhishek    0 Jan 10 16:03 count.txt
 -rw-r--r-- 1 abhishek abhishek  356 Dec 17 11:39 file1.txt
 -rw-r--r-- 1 abhishek abhishek  356 Dec 17 09:59 file2.txt
 -rw-r--r-- 1 abhishek abhishek  356 Dec 11 21:35 sherlock.txt
 drwxr-xr-x 3 abhishek abhishek 4096 Jan  4 20:10 target

结论

使用 tee 命令真的取决于你的想象和你的情况。 当我必须分析像日志文件这样冗长的输出时,我觉得它很方便。 实时查看并存储在文件中以供将来参考会有所帮助并节省了我一些时间。

我希望你喜欢我在这里列出的 tee 命令示例。 如果你想到了一些非常棒的方法来使用这个命令,请在评论部分与我们其他人分享。