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

如何轻松地将GNU屏幕回滚缓冲区复制到文件? IE,“硬拷贝”命令的更强大的版本?

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

但是,这是乏味的。 是否有一个屏幕命令,将简单地将回滚缓冲区复制到一个文件,如“硬拷贝”为屏幕的可见部分?

要将回滚缓冲区的全部内容写入文件,请键入

然后按Ctrl + A进入命令模式

hardcopy -h <filename> 

在旧版本的screen ,如果你只是做hardcopy -h ,它只是写入文件-h 。 这在4.2.0版中得到了修复,所以hardcopy -h写入到hardcopy.N ,其中N是当前窗口号。

Ctrl + A :缓冲文件/tmp/somefile.txt ENTER ,然后按Ctrl + A >

这会将缓冲区的当前内容写入指定的文件。

试试hardcopy -h来包含整个缓冲区

这工作对我来说:进入编辑模式( ~ ):然后键入:

 :hardcopy -h buff_file 

它创build了一个巨大的文件,其中98%是空的,但我的日志完全存在于剩下的2%

TL; DR: ^A:writebuf <filename>

OP似乎想要一种方法来使用所获得的缓冲区的选定部分,当做一个^ A [,select文本使用空间作为开始和结束,然后,而不是使用^ A]粘贴,保存结果所选部分的缓冲区到文件。

我知道这已经过了几年了,但是我正在寻找同一个问题的答案,最终发现:

^A:writebuf <filename>

注意:writebuf中有一个'f'

ctl -a:问题命令'login'

或者在.screenrc中将其设置为“deflog on”

Ctrl-A h

这将当前屏幕保存到硬拷贝文件中,例如,对于屏幕0,使用hardcopy.0。与使用Ctrl-A:并input硬拷贝命令相比,这似乎是一种更快捷的方式。