我如何轻松地复制GNU屏幕滚动缓冲区到一个文件?也就是说,“硬拷贝”命令的更强大版本?
在GNU屏幕中,我可以使用“Ctrl + A Esc”进入屏幕 缓冲区。然后,我可以标记整个缓冲区,并使用“Ctrl + A Ctrl +]”将其粘贴到Emacs缓冲区中,从而将其保存到一个文件中。
然而,这很乏味。是否有一个Screen命令可以简单地将滚动缓冲区复制到文件中,就像“硬拷贝”用于屏幕的可见部分一样?
我如何轻松地复制GNU屏幕滚动缓冲区到一个文件?也就是说,“硬拷贝”命令的更强大版本?
在GNU屏幕中,我可以使用“Ctrl + A Esc”进入屏幕 缓冲区。然后,我可以标记整个缓冲区,并使用“Ctrl + A Ctrl +]”将其粘贴到Emacs缓冲区中,从而将其保存到一个文件中。
然而,这很乏味。是否有一个Screen命令可以简单地将滚动缓冲区复制到文件中,就像“硬拷贝”用于屏幕的可见部分一样?
当前回答
按“Ctrl+A:bufferfile /tmp/somefile.txt ENTER”,然后按“Ctrl+A >”
这将把缓冲区的当前内容写入命名文件。
其他回答
按Ctrl + A, H。
将当前屏幕保存到一个硬拷贝文件,例如,硬拷贝。0表示屏幕0。这似乎比按Ctrl + a,:和键入硬拷贝命令更快。
TL博士:桶A:writebuf <filename>
OP似乎想要一种方法来使用你在执行^ a[,选择使用空格作为开始和结束的文本时得到的缓冲区的选定部分,然后不是使用^ a]来粘贴,而是将结果缓冲区的选定部分保存到文件中。
这工作:
^: writebuf <文件名>
注意:writebuf中有一个f
Ctrl + A,:,并发出'log on'命令。
或者在你的.screenrc文件中将其设置为默认的“deflog on”。
要将滚动缓冲区的全部内容写入文件,请键入
Ctrl + A和: 然后进入命令模式
hardcopy -h <filename>
在旧版本的screen中,如果你只是硬拷贝-h,它只会写入文件-h。这在4.2.0版本中得到了修复,因此hardcopy -h会写入hardcopy。N,其中N是当前窗口号。
这招对我很管用:
进入编辑模式(~),输入:
:hardcopy -h buff_file
它创建了一个巨大的文件,其中98%是空的,但我的日志完全存在于剩下的2%。