在终端中,有时我想显示标准输出并将其另存为备份。但如果我使用重定向(>
&>
等),它不会在终端中显示输出。Bash标准输出同时显示和重定向
我想我可以做例如ls > localbackup.txt | cat localbackup.txt
。但它感觉不对。有没有什么捷径可以实现这个目标?
谢谢!
在终端中,有时我想显示标准输出并将其另存为备份。但如果我使用重定向(>
&>
等),它不会在终端中显示输出。Bash标准输出同时显示和重定向
我想我可以做例如ls > localbackup.txt | cat localbackup.txt
。但它感觉不对。有没有什么捷径可以实现这个目标?
谢谢!
tee
是你正在寻找的命令:
ls | tee localbackup.txt
除了使用tee
复制的输出(和它的值得一提的tee
能够追加到文件,而不是覆盖它,通过使用tee -a
,这样就可以按顺序运行几个命令和保留所有的输出),则也可以使用tail -f
“追随”从并行处理的输出文件(例如一个单独的终端):
command1 >localbackup.txt # create output file
command2 >>localbackup.txt # append to output
并从一个单独的终端,在同一时间:
tail -f localbackup.txt # this will keep outputting as text is appended to the file
+1 for'tail -f'! – lenz
谢谢!就是这个! – Yoland
@YolandYan接受正确答案也是一种感谢某人的帮助的方式。 – msw