有什么方法可以记录 gnome-terminal 中显示的所有内容?
例如我有一个复杂的命令
doSomethingThatPrintoutsAlot ; doSomethingThatPrintoutsAlot2 ; doSomethingThatPrintoutsAlot3
我可以添加> file
,但是我必须对每个命令都执行此操作,并且必须在另一个控制台中使用 tail 才能查看输出。也许 gnome-terminal 支持记录所有内容?
有.bash_history,所以...它可能也支持这一点。
答案1
该.bash_history
文件仅存储命令历史记录,而不存储输出。浏览man bash
它似乎不支持那种日志记录。
但是有一个script
命令可以记录任何终端的输出。用法很简单:
script ~/mylog
Script started, file is /home/-----/mylog
...
(commands that produce output)
...
exit
Script done, file is /home/------/mylog
可以从 读取输出~/mylog
。
答案2
由于您询问的是 gnome-terminal,因此这并不能直接回答您的问题,但为了完整起见:konsole
,来自 KDE 的终端仿真器,使这变得像文件 - 将输出另存为...一样简单 - 它将所有内容保存在终端的回滚缓冲区中。
还可以将回滚缓冲区中存储的行数设置为无限制,这样即使对于非常长的输出也能起作用。
还有“清除回滚”选项。
您可以轻松地在 Gnome 中安装 konsole,但这会降低一些 KDE 依赖项。