终端(Gnome Terminal)的输出存储在哪里

Doh*_*Joe 5 command-line gnome-terminal output

首先,这不是一个关于 的问题history,它存储了所有输入的命令。

我在工作的工作站上有几个打开的终端,从中我可以启动模拟、检查输出以及偶尔会显示错误消息的位置。

Gnome Terminal有一个控制回滚长度的设置中,在我的情况下,该设置被设置为不到 10000 行。

现在我的问题是:如何搜索回滚?

就我而言,我想检查之前是否出现过最近的错误消息。是的,我可以向后滚动并使用我的眼球来搜索有问题的错误消息。但是对于几个可能长达 10000 行的终端来说,这意味着要花费大量时间滚动。

我假设回滚中的信息需要存储在某个地方,如果存储在某个地方,它实际上可能是可搜索的。

[编辑:更正了有关 Gnome 终端的问题。]

Ben*_*oit 3

如果脚本生成的输出对您非常重要(查找错误、警告、运行的操作等),那么您不应依赖所使用的控制台的显示。

您必须将脚本的输出重定向到某些文件,这有以下优点:

  • 您不再受限于您正在使用的控制台的滚动缓冲区中的行数
  • 只要您希望能够检索已完成的操作,您就可以将结果存档,甚至在有效运行脚本后的几天/几周/几个月
  • 您可以将错误记录到与信息性消息不同的专用文件中,从而更容易找到错误。(如果脚本中使用的命令将错误发送到 STDERR,并将信息发送到 STDOUT)。
  • 如果使用命令,您甚至可以登录到文件,同时仍在终端上显示输出tee

所以,你可以这样做:

./script.sh | tee -a output
Run Code Online (Sandbox Code Playgroud)

将script.sh的所有输出复制到名为output的文件中,将文本附加到文件末尾并也在终端上显示文本。


Jan*_*Jan 1

回滚缓冲区是终端或控制台的一个功能。

如果您使用帧缓冲区控制台,则可以fbcon=scrollback:在启动时使用该参数来增加回滚的大小。

对于xfce4-terminal,转到“编辑->设置->常规->回滚”并根据您的喜好更改滚动缓冲区。

对于 kde 的konsole,转到“设置->配置当前配置文件...->滚动->固定行数”

经典的xterm可以使用启动标志 -sl 777(用于向后滚动缓冲区的 777 行)或通过 saveLines 配置进行配置。

对于GNU screen,请使用 screen -h 启动它。

我会使用屏幕,您可以在其中搜索回滚缓冲区:

/ Vi-like search forward
? Vi-like search backward
C-a s Emacs style incremental search forward
C-r Emacs style reverse i-search
Run Code Online (Sandbox Code Playgroud)

在回滚模式(或复制模式,相同)下,您还可以复制和粘贴文本。