基本上,我想要做的是,不仅仅是将终端命令的输出重定向到文件,我还想将信息显示在终端会话中。
如果我使用~$ 命令 > 输出.log 我无法再在终端窗口中看到命令进程,因此如果不查看 output.log 文件,我就不知道命令何时完成处理。我运行的命令需要几分钟才能处理并产生相当多的输出。(因此我想捕获该输出)有什么建议吗?
答案1
你的问题的答案是tee
。只需使用| tee [output file]
而不是> [output file]
这样,sudo apt-get update > out.log
就变成
sudo apt-get update | tee out.log
。
了解更多信息:LinuxQuestion.org:BASH:如何将输出重定向到文件,并且仍将其显示在屏幕上,Linux 示例:如何将输出重定向到文件并将其显示出来。
答案2
您可以使用tee
。
例子:$ls 2>&1 | tee text.txt
这会将命令的输出打印到日志文件以及终端中。
答案3
command |tee output.log
既可打印,又可捕获。