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

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【Linux常用命令之tee,您用过吗?】20 123.txt
count.txt文件不存在,因此它将创建一个名为count.txt的新文件 。如果您看到输出内容,它会同时保存到count.txt 。
cat count.txt20 123.txt
注意:在默认情况下,tee命令将覆盖文件的内容 。如果你想追加内容,你可以使用附加选项-a
wc -l 123.txt | tee -a 123.txt2.2 显示命令输出结果并将其保存到多个文件中如果希望将命令输出保存到多个文件中,也可以使用tee命令实现这一点 。你只需要指定文件 。
wc -l 123.txt | tee count1.txt count2.txt您可以验证在上述两个文件中是否保存了相同的信息 。
cat count1.txt count2.txt20 123.txt20 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.txt3. 结论 通过本文,您应该对tee命令有进一步的了解了吧?使用tee命令完全取决于您的使用场景和意愿 。当我需要分析像日志文件这样冗长的输出时,它很方便 。实时查看它并将其存储到一个文件中以供将来参考,这对我有一定的帮助,并为我节省了一些时间 。
希望本文能帮助您提升日常管理效率 。如果您有更好的使用例子,请留言 。
本文已同步至博客站,尊重原创,转载时请在正文中附带以下链接:https://www.linuxrumen.com/cyml/1681.html




    推荐阅读