Linux 中的 tee 命令:完整介绍

tee 命令用于存储和查看任何命令的输出。 在本文中,我们将介绍该命令的一些基本用法。 在我们开始之前,这里有一个关于这个命令的有趣事实:它以管道中常用的 T 形分离器命名。 在 tee 命令的帮助下,用户会发现他们必须输入更少的内容才能完成更多的工作。

目录

tee 命令的基本用法

tee 命令基本上将程序的输出分成两个流程,以便既可以查看也可以将其保存在文件中。 它同时执行两项任务: 在屏幕上显示结果将输出复制到外部文件中.

与大多数命令不同,tee 命令不会简单地开始。 我的意思是你不能只使用 tee 命令作为“tee filename.txt”,它会简单地删除整个文件内容。 用户应该做的是首先使用一些命令,然后将其传递到 tee 命令,然后是输出文件。 一个 example 将会:

echo "this is a simple example using the tee command" | tee out.txt

执行上述命令后,用户将能够在他/她的标准输出中看到 echo 命令的输出,并查看在当前目录中创建的 out.txt 文件。 如果您使用 cat 命令并查看内容,您会发现它只是在标准输出中显示给您的输出。 这样,用户既可以看到标准输出,也可以同时将其保存在文件中。 我们可以通过对 out.txt 文件运行 cat 命令来验证结果:

将 tee 命令作为管道运行,并以文件名作为参数

您可以运行以下命令来执行相同的操作,但是您将运行两个命令,而当您只能运行一个时,为什么还要运行两个?

Linux 中的回显命令

echo "this is a simple example using the tee command" > out.txt && cat out.txt

附加到现有的 tee 命令输出文件

用户可以使用 -a 标志附加到已经存在的 tee 输出文件。 结果命令如下:

echo "This is a follow-up example of the tee command" | tee -a out.txt

上面的代码会在我们之前创建的 out.txt 中产生一个后续行。

tee 命令的重要用例

tee 命令并不为太多 Linux 用户所了解,但它在以下一些用例中仍然具有价值。 让我们仔细看看。

有时你可能会在使用 vim 时发现,在打开一个文件并进行一些编辑后,你无法按文件要求写入文件 sudo 特权。 然后我们无助地退出vim,再次打开它 sudo 这一次,走自己的路吧。 但这就是 tee 命令的亮点。 我们可以在 vim 中执行以下命令写入需要的文件 sudo 特权:

:w !sudo tee %

如果你按回车,它会要求 sudo 密码,输入密码后你就可以开始了!

另一种情况是您希望将某些输出重定向到受保护的文件。 只需使用我们之前在第一个中使用的 tee 命令 example但给出 tee 命令 sudo 特权:

echo "this is a simple example using the tee command" | sudo tee protected_file.txt

概括

这就是 tee 命令。 希望您发现这篇文章很有用,并期待 Linux For Devices 的更多内容。 此外,不要忘记经常查阅手册页以了解有关任何命令的更多信息。 要了解有关 Linux 命令的更多信息,请查看此链接。