Linux中的Tee命令示例说明
tee命令从标准输入读取并写入标准输出和文件。
结果是我们可以看到命令的输出并将其同时保存到文件中。
换句话说,我们有一个输入通道到两个输出通道。
如果我们熟悉Linux中的重定向概念,那么所有这些都将更有意义。
该命令以在电力,管道和其他行业中使用的T型连接器命名。
之所以将其称为“ tee”是因为它们类似于字母“ T”。
现在,我们了解了tee命令的用途,让我们看看如何在Linux中使用tee命令。
Tee命令示例
tee命令具有简单的语法:
tee [OPTION] [FILE]
请记住,Tee几乎总是从标准输入中读取内容,因此我们会在结合另一个命令时使用它。
让我向我们展示一些示例。
1.显示命令输出并将其保存到文件
让我们以一个基本情况为例,我们要计算文件中的行数。
我们想查看文件中有多少行,并将该行保存到另一个文件中。
Hyman@theitroad:~$wc -l agatha.txt | tee count.txt 20 agatha.txt
文件计数不存在,因此它将创建一个名为count的新文件。
如果我们看到文件计数的内容,我们将看到与在显示屏上看到的相同的输出。
Hyman@theitroad:~$cat count.txt 20 agatha.txt
注意:默认情况下,tee命令将覆盖文件的内容。
如果需要,可以将添加选项-a与它一起使用:wc -l agatha.txt | T恤-a count.txt
2.显示命令输出并将其保存到多个文件
如果要将命令输出保存到多个文件,也可以使用tee命令来执行。
我们只需要指定文件即可。
Hyman@theitroad:$wc -l agatha.txt | tee count1.txt count2.txt 20 agatha.txt
我们可以验证相同的输出已存储在上述两个文件中。
Hyman@theitroad:~$cat count1.txt count2.txt 20 agatha.txt 20 agatha.txt
我希望我们知道我们可以在Linux中与cat命令一起看到多个文件。
3.将命令输出解析为另一个命令,同时将其保存到文件中
我们不一定总是需要查看命令输出。
由于它是标准输出,因此可以通过管道将其输出到另一个命令。
以下面的命令为例。
Hyman@theitroad:~$ls -l | tee count.txt | wc -l 7
此处发生的是将“ ls -l”命令的输出通过管道传递给tee命令。
现在,tee命令将'ls -l'的输出存储在count.txt文件中,而不是显示此输出,而是通过管道传递到计算行数的'wc -l'命令。
在这种情况下,我们看到的输出是“ wc -l”命令的输出。
“ ls -l”命令的输出存储在文件count.txt中。
Hyman@theitroad:~$cat count.txt total 20 -r--r--r-- 1 igi igi 456 Dec 11 21:29 agatha.txt -rw-r--r-- 1 igi igi 0 Jan 10 16:03 count.txt -rw-r--r-- 1 igi igi 356 Dec 17 11:39 file1.txt -rw-r--r-- 1 igi igi 356 Dec 17 09:59 file2.txt -rw-r--r-- 1 igi igi 356 Dec 11 21:35 sherlock.txt drwxr-xr-x 3 igi igi 4096 Jan 4 20:10 target