有这样的工具吗?
如果没有,该工具应该在什么级别可用?
- shell 应该跟踪输出
或者
- 终端模拟器
答案1
如果这是单个命令的输出,您可以将其通过管道传输到less
并导航,就像在手册页中所做的那样:
command | less
使用 less 退出后,输出将丢失q
。为了不丢失它,您可以使用command | tee command.output | less
,在这种情况下,它将把输出输入 less ,但也会将其写入文件command.output
。
如果您想记录整个会话,请考虑运行会话中的所有screen
内容tmux
。它们都具有日志记录和回溯功能;查找各自的手册页以获取详细信息(两者都有巨大的单页手册)。例如,这是您使用屏幕记录整个会话(以交互方式显示)的方式:
screen -L command
screenlog.0
将创建该文件,您可以使用 来浏览该文件less
。
这是您在会话中导航的方式tmux
(无需将其记录到磁盘):
tmux new command
tmux
在窗口内Ctrl+B
立即按 然后PgUp
,现在您可以使用 PgUp、PgDown、箭头滚动窗口,也可以选择屏幕的某些部分以将其放置在以后的某个位置。该命令将运行,并可能产生新的输出,一旦您按 退出滚动模式,该输出将立即显示Esc
。