将GNU屏幕回滚缓冲区复制到文件(扩展硬拷贝)?

时间:2011-01-26 17:02:56

标签: keyboard-shortcuts gnu-screen

如何轻松地将GNU屏幕回滚缓冲区复制到文件中? IE,a 更强大的'hardcopy'命令版本?

在GNU屏幕中,我可以使用“ ctrl - a ESC ”进入回滚 缓冲。然后我可以标记整个缓冲区并使用“ ctrl - a ctrl - ] ”来 将其粘贴到emacs缓冲区中,从而将其保存到文件中。

然而,这很乏味。是否有简单的屏幕命令 将回滚缓冲区复制到一个文件,就像'hardcopy'那样 屏幕的可见部分?

7 个答案:

答案 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>

OP似乎想要一种方法来使用你在执行^ A [,选择使用空格作为开始和结束的文本,而不是使用^ A]粘贴时获得的缓冲区的选定部分,保存所选的结果缓冲区的一部分到文件。

我知道这已经发布多年了,但我一直在寻找同一个问题的答案,并最终找到了:

^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命令更快。