本文主要讲解在linux系统中的tee命令,并列出一些常见的使用案例。
如果希望同时显示命令的输出结果并将其保存到文件中,则需要使用tee命令。
tee命令从标准输入读取数据,并将数据写入标准输出和文件。
结果是您可以看到命令的输出,同时还可以保存它。
换句话说,你有一个输入被引导到两个输出。
现在您已经理解了tee命令的用途,接下来让我们看看如何在Linux中使用tee命令。
Linux常用命令之tee,它有什么作用
tee命令有一个简单的语法:
tee [OPTION] [FILE]
请记住tee是从标准输入读取的,因此几乎在所有情况下,您都要结合其它命令使用它。
我们看看以下使用例子:
让我们来看一个基本的例子,在这个例子中,您希望计算一个文件中的行数。您想要查看文件中有多少行,并将该信息保存到另一个文件中。
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
如果希望将命令输出保存到多个文件中,也可以使用tee命令实现这一点。你只需要指定文件。
wc -l 123.txt | tee count1.txt count2.txt
您可以验证在上述两个文件中是否保存了相同的信息。
cat count1.txt count2.txt
20 123.txt
20 123.txt
以上是使用cat命令同时打印多个文件的内容,您应该知道吧?
您并不总是需要查看命令输出结果。因为它是标准输出,所以可以将它传递到另一个命令。
以下面的命令为例。
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
通过本文,您应该对tee命令有进一步的了解了吧?使用tee命令完全取决于您的使用场景和意愿。当我需要分析像日志文件这样冗长的输出时,它很方便。实时查看它并将其存储到一个文件中以供将来参考,这对我有一定的帮助,并为我节省了一些时间。
希望本文能帮助您提升日常管理效率。如果您有更好的使用例子,请留言。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1681.html