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

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

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

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

Gnome Terminal一个设置可以控制向后滚动的长度,在我的情况下,该设置被设置为略少于 10000 行。

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

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

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

[编辑:更正该问题为关于 Gnome 终端的问题。]

答案1

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

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

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

因此,你可以这样做:

./script.sh | tee -a output

复制所有输出脚本到名为输出,将文本附加到文件末尾,并在终端上显示文本。

答案2

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

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

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

对于 kde控制台,进入“设置->配置当前配置文件...->滚动->固定行数”

古典的终端可以使用启动标志 -sl 777(用于 777 行回滚缓冲区)或通过 saveLines 配置进行配置。

为了GNU 屏幕,使用 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

在滚动回滚模式(或复制模式,是一样的)下,您也可以复制和粘贴文本。

相关内容