如何轻松地将GNU屏幕回滚缓冲区复制到文件中? IE,a 更强大的'hardcopy'命令版本?
在GNU屏幕中,我可以使用“ ctrl - a ESC ”进入回滚 缓冲。然后我可以标记整个缓冲区并使用“ ctrl - a ctrl - ] ”来 将其粘贴到emacs缓冲区中,从而将其保存到文件中。
然而,这很乏味。是否有简单的屏幕命令 将回滚缓冲区复制到一个文件,就像'hardcopy'那样 屏幕的可见部分?
答案 0 :(得分:253)
要将回滚缓冲区的全部内容写入文件,请键入
Ctrl + A 和: 进入命令模式,然后
hardcopy -h <filename>
在screen
的旧版本中,如果您只是hardcopy -h
,它只会写入文件-h
。这已在版本4.2.0中修复,因此hardcopy -h
会写入hardcopy.N
,其中 N
是当前窗口编号。
答案 1 :(得分:24)
按 Ctrl + A :bufferfile /tmp/somefile.txt ENTER ,然后按 Ctrl + A &gt;
这会将缓冲区的当前内容写入指定的文件。
答案 2 :(得分:9)
TL; DR:^A:writebuf <filename>
我知道这已经发布多年了,但我一直在寻找同一个问题的答案,并最终找到了:
^A:writebuf <filename>
注意:writebuf中有一个'f'
答案 3 :(得分:6)
尝试hardcopy -h
包含整个缓冲区
答案 4 :(得分:3)
这对我有用:
进入编辑模式(~
):
然后输入:
:hardcopy -h buff_file
它创建了一个巨大的文件,其中98%为空,但我的日志完全出现在剩余的2%
中答案 5 :(得分:-2)
ctl-a:问题命令'登录'
或将.screenrc中的默认值设置为'deflog on'
答案 6 :(得分:-3)
Ctrl-A h
将当前屏幕保存到硬拷贝文件中,例如,屏幕0的hardcopy.0。这似乎比进入Ctrl-A:并输入hardcopy命令更快。