![将输出从终端重定向到 unix/linux 中的文件](https://linux22.com/image/2425/%E5%B0%86%E8%BE%93%E5%87%BA%E4%BB%8E%E7%BB%88%E7%AB%AF%E9%87%8D%E5%AE%9A%E5%90%91%E5%88%B0%20unix%2Flinux%20%E4%B8%AD%E7%9A%84%E6%96%87%E4%BB%B6.png)
我的项目中遇到了一个小问题。我有一个菜单驱动的程序,我的选择之一是显示全部,它使用循环显示地图中的所有条目。显示屏位于终端上,我无法查看所有条目,因为它只显示提示再次出现之前的最后几个条目。我希望将输出重定向到一个文件,以便我可以使用更多命令并为用户提供相应的视图。请建议一些命令或代码。
答案1
您可以在启动程序时设置管道以将其输出写入文件。
$ your_program > /tmp/output.txt
如果程序对输出执行其他操作,例如提示用户输入,则它很可能使用第二个输出通道(错误通道)来显示菜单,因此这可能不会妨碍正常操作,只会捕获转储输出。
此外,GNU 等程序screen
对此tmux
非常方便,它允许您从窗口捕获和查看回滚历史记录,甚至捕获其中的一部分并将其记录到文件中。
如果这不起作用,请告诉我们有关您的程序和用法的更多信息。
答案2
您可以使用以下语法将终端输出重定向到文件:
program params > fileName
答案3
标准输出(stdout):
command > file
或者如果您想附加:
command >> file
标准错误(stderr):
command 2> file
或者如果您想附加:
command 2>> file