我在屏幕会话中运行了一个脚本,但我忘记将 stdout 重定向到一个文件。大约有 10MB 的文本。如果有办法突出显示文本并复制粘贴,我会这样做,但当我单击并拖动鼠标时,Ctrl-A + Esc 不会滚动我的终端视图。我在 Ubuntu 18 上使用 bash。有什么我可以尝试的吗?
答案1
因此,通常的回滚缓冲区不会保存那么多数据,所以你很可能要 SOL。抱歉。
话虽如此,屏幕有自己的滚动缓冲区,与终端分开(因此单击和拖动)。您要做的如下:
- ctrl-a 然后按 [(左括号)。这将进入屏幕的复制模式(或任何他们称之为的模式)。
- Screen 使用 vi 键移动光标。将光标移动到输出的末尾。
- 按空格键。这将启动选择
- 将光标移动到历史记录中尽可能靠前的位置(向上移动时它会滚动)。
- 再次按空格键。这样就完成了选择并退出复制模式。
- 运行 cat > save_file.txt 或类似命令
- ctrl-a 和 ](右括号)
- ctrl-d 文件结束。粘贴的内容应在 save_file.txt 中
如果您不知道 vi 键,请跳过 #2 并按 ctrl-b 直到它滚动到 #4。