有时你想手动跟踪一个命令的输出,同时又想把输出写入一个文件,以便以后参考。如果你正在寻找与此相关的工具,那么恭喜你,Linux已经有一个名为tee的命令可以帮助你。在本教程中,我们将以一些基于tee命令的简单示例开始讨论。但在此之前,值得一提的是,本文的所有测试实例均基于Ubuntu16.04LTS。Linuxtee命令tee命令根据标准输入读取数据,并将数据写入标准输出或文件。感受下这个命令的语法:tee[OPTION]...[FILE]...帮助文档中的说明是:从标准输入复制到各个文件,输出到标准输出。让Q&A(问答)风格的例子启发我们更多地了解这个命令。Q1。如何在Linux上使用这个命令?假设出于某种原因,您正在使用ping命令。pinggoogle.com如何在linux下使用tee命令,同时把你要输出的信息也可以同时写入到文件中。这时候tee命令就派上用场了。pinggoogle.com|teeoutput.txt下面的截图显示,这个输出不仅写入了output.txt文件,还显示在标准输出上。tee命令的输出应该是这样的,以了解tee的基本用法。Q2。如何确保tee命令将信息追加到文件中?默认情况下,对同一个文件再次使用tee命令将覆盖之前的信息。如果需要,您可以使用-a命令选项更改默认设置。[命令]|tee-a[file]基本上,-a选项强制tee命令将信息附加到文件。Q3.如何让tee写入多个文件?这很简单。你只需要写文件名。[命令]|tee[file1][file2][file3]例如:pinggoogle.com|teeoutput1.txtoutput2.txtoutput3.txt如何让tee写入多个文件Q4.如何将tee命令的输出直接作为另一个命令的输入?使用tee命令,您不仅可以将输出写入文件,还可以将输出用作另一个命令的输入。例如,以下命令不仅会将文件名存储在output.txt文件中,还会让您知道通过wc命令输入到output.txt中的文件数。文件*|tee输出.txt|wc-l如何让tee命令的输出直接作为另一个命令的输入Q5.如何使用tee命令提升文件写权限?假设你用Vim编辑器打开一个文件,并做了很多更改,然后当你试图保存更改时,你得到一个错误,让你意识到这是一个root拥有的文件,这意味着你需要用sudo保存特权修改。如何使用tee命令提升文件写入权限在这种情况下,您可以使用tee命令(在Vim中)来提升权限。:w!sudotee%上面的命令将要求您输入root密码,然后允许您保存更改。Q6.如何使tee命令忽略中断?-i命令行选项使tee命令忽略通常由ctrl+c组合键启动的中断信号(SIGINT)。[命令]|tee-i[file]当你想用ctrl+c中断命令并让tee命令优雅地退出时,这个选项特别有用。总结到目前为止,您可能同意tee是一个非常有用的命令。基于tee命令的用法,我们已经介绍了它的大部分命令行选项。该工具的学习曲线并不陡峭,因此只需按照以下几个示例进行操作,您就可以上手了。有关详细信息,请参阅帮助文档。
