案例场景:
screen有日志功能,但如果没有提前配置又想保存当前窗口所有输出,怎么办?
方案1
如果只是少量内容需要复制,使用 ctl-A Esc
进到 copy/scrollback
模式,使用鼠标滚轴上下滚,拖选复制就可以了。
方案2
如果有大量内容需要复制,使用滚轴上下拖动或使用 J
K
或方向键上下移动,也只能一屏一屏的复制。有没有办法全选复制?
可以使用如下办法实现全选复制:
- step1: 使用组合键
ctl-a [
进入copy/scrollback模式 - step2: 使用
PgUp
键向上移动光标到历史输出的第一行,然后敲一个空格或回车,这时提示你已标记第一行 - step3: 使用
PgDn
键向下移动光标到历史输出的最后一行,然后敲一个空格或回车,这时提示你已拷贝XXX个字符 - step4: 使用组合键
ctl-a >
这时命令提示,内容已使存到/tmp/screen_exchange文件中。
通过以上四步,可以把之间的历史输出都保存到文件中。
方案3
如果只是想要以后生成的输出,之前的不想要了。有更简单的命令: ctl-a shift-h
,提示打开当前目录的log日志screenlog.0
从执行命令开始,后面的所有输出都会被记录在日志文件中screenlog.0,再执行这个命令一遍提示关闭日志文件,输出不再保存到日志。