📜  Linux Tee命令

📅  最后修改于: 2020-12-08 03:00:32             🧑  作者: Mango

Linux tee命令

Linux tee命令与'cat'命令非常相似,只有一个区别。它将stdin放在stdout上,并将它们放入文件中。它是通过管道与其他命令一起使用最多的命令之一。它允许我们编写从std输入到std输出的所有内容。 (可选)它提供对一个或多个文件的写入。命令名称tee来自管道中使用的T分离器。

句法:

tee  

选项:

以下是一些有用的选项,可以与tee命令一起使用,以使其更加具体:

-a,–append:用于将数据附加到给定的文件,它不会覆盖数据。

-i,-ignore-interrupts:用于忽略中断信号。

-p:用于诊断写入非管道的错误。

–output-error [= MODE]:用于设置写错误模式下的行为。

–help:用于显示帮助文档。

–version:用于显示版本信息。

tee命令示例

让我们看一下tee命令的以下示例:

如何使用tee命令

tee命令用于将标准输入写入标准输出和文件。在管道后使用。要写入标准输出和文件,请在管道后指定tee命令并提供文件名。考虑以下命令:

cat weeks.txt | tee newfile.txt

上面的命令会将“ weeks.txt”的输入写入“ newfile.txt”。考虑以下输出:

从上面的输出中,使用tee命令创建文件'newfile.txt'。

编写文件并追加输出

“ -a”选项与tee命令一起使用,以附加输出并将其写入文件。考虑以下命令:

echo 'Saturday and Sunday are week offs' | tee -a newfile.txt

上面的命令会将指定的输入附加到'newfile.txt'。考虑以下输出:

从上面的输出中,指定的输入将附加到“ newfile.txt”。

将数据状态写入文件

写入数据状态对于进行备份或为调试目的创建数据快照非常有用。使用tee命令可以轻松完成。

要将数据状态写入文件,请执行以下命令:

ls ~/ | tee pipe1.txt | grep ^b | tee pipe2.txt | sort -r

上面的命令会将数据写入pipe1.txt。考虑以下输出:

从上面的输出中,当前工作目录数据的快照存储在“ newfile.txt”中。

写入多个文件

tee命令允许我们写入多个文件。要写入多个文件,请在tee命令之后指定文件名,如下所示:

echo " add text" | tee file1.txt file2.txt file3.txt

上面的命令将创建所有指定的文件。考虑以下输出:

写入特权文件

tee命令允许我们写入具有sudo特权的文件。如果我们尝试写一个由root用户拥有的文件,将会通过权限错误。但是,我们可以通过执行tee命令来提升sudo权限,如下所示:

echo "some text" | sudo tee -a 

忽略中断

“ -i”选项用于忽略中断。如果我们要在执行期间优雅地停止和退出命令,这将很有用。它的用法如下:

command | tee -i 

隐藏输出

要限制tee命令不写入标准输出,请将其重定向到“ / dev / null”。执行以下命令:

echo "Text" | tee newfile.txt >/dev/null

考虑以下输出: