<返回更多

Linux常用命令之tee,您用过吗?

2020-05-08    
加入收藏

1. 前言

本文主要讲解在linux系统中的tee命令,并列出一些常见的使用案例。

如果希望同时显示命令的输出结果并将其保存到文件中,则需要使用tee命令。

tee命令从标准输入读取数据,并将数据写入标准输出和文件。

结果是您可以看到命令的输出,同时还可以保存它。

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

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

Linux常用命令之tee,您用过吗?

Linux常用命令之tee,它有什么作用

 

2. `tee`命令日常使用示例

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

tee [OPTION] [FILE]

请记住tee是从标准输入读取的,因此几乎在所有情况下,您都要结合其它命令使用它。

我们看看以下使用例子:
 

2.1 显示命令输出结果并将其保存到文件中

让我们来看一个基本的例子,在这个例子中,您希望计算一个文件中的行数。您想要查看文件中有多少行,并将该信息保存到另一个文件中。

wc -l 123.txt | tee count.txt

20 123.txt

count.txt文件不存在,因此它将创建一个名为count.txt的新文件。如果您看到输出内容,它会同时保存到count.txt。

cat count.txt

20 123.txt

注意:在默认情况下,tee命令将覆盖文件的内容。如果你想追加内容,你可以使用附加选项-a

wc -l 123.txt | tee -a 123.txt

2.2 显示命令输出结果并将其保存到多个文件中

如果希望将命令输出保存到多个文件中,也可以使用tee命令实现这一点。你只需要指定文件。

wc -l 123.txt | tee count1.txt count2.txt

您可以验证在上述两个文件中是否保存了相同的信息。

cat count1.txt count2.txt
20 123.txt
20 123.txt

以上是使用cat命令同时打印多个文件的内容,您应该知道吧?

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

您并不总是需要查看命令输出结果。因为它是标准输出,所以可以将它传递到另一个命令。

以下面的命令为例。

ls -l | tee count.txt | wc -l

这里发生的情况是,ls -l命令的输出通过管道传输到tee命令。现在,tee命令将ls -l的输出保存在count.txt文件中,但是不显示这个输出,而是通过管道将其传输到wc -l命令,该命令计算count.txt行数。

在本例中看到的输出是wc -l命令的执行结果。ls -l命令的输出结果保存在count.txt文件中。

cat count.txt
 total 20
 -r--r--r-- 1 zcwyou zcwyou  456 Dec 11 21:29 1.txt
 -rw-r--r-- 1 zcwyou zcwyou    0 Jan 10 16:03 2.txt
 -rw-r--r-- 1 zcwyou zcwyou  356 Dec 17 11:39 3.txt
 -rw-r--r-- 1 zcwyou zcwyou  356 Dec 17 09:59 4.txt
 -rw-r--r-- 1 zcwyou zcwyou  356 Dec 11 21:35 5.txt
 drwxr-xr-x 3 zcwyou zcwyou 4096 Jan  4 20:10 6.txt

3. 结论

 

通过本文,您应该对tee命令有进一步的了解了吧?使用tee命令完全取决于您的使用场景和意愿。当我需要分析像日志文件这样冗长的输出时,它很方便。实时查看它并将其存储到一个文件中以供将来参考,这对我有一定的帮助,并为我节省了一些时间。

希望本文能帮助您提升日常管理效率。如果您有更好的使用例子,请留言。

本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1681.html

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>