复制GNU屏幕回滚缓冲区到文件(扩展硬拷贝)?
如何轻松地将GNU屏幕回滚缓冲区复制到文件? IE,“硬拷贝”命令的更强大的版本?
在GNU屏幕中,我可以使用“ ctrl – a 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硬拷贝命令相比,这似乎是一种更快捷的方式。