当您向上滚动时,比如说查看日志,它的第一部分将不可见,因为终端仅支持有限的数量。的线路。因此,如果您想向上滚动并能够看到所有内容,至少向上几页,您该怎么做?
使用 Shift+Page Up 和 Shift+Page Down。
将输出通过管道传输到寻呼机,如下所示是更好的选择:
command | less
command | more
您可以启用无限制向后滚动(如果需要,也可以启用大量向后滚动)。
要执行此操作,请转至
文件→配置文件首选项→滚动[选项卡]
然后,勾选
Unlimited
,或设置所需的行数。当然,它仅适用于接下来键入的行。
我使用的一些技巧-
一些终端应用程序(gnome-terminal)允许您增加向后滚动缓冲区大小
通过管道输出到文件:
command > file.log
通过管道将命令传递给 less:
command | less
尾部日志和管道到 grep 以减少输出
tail -f example.log | grep 'search text'
screen 的替代方法是使用 tee 将所有输出复制到文件,同时仍将其打印在终端上:
yourcommand | tee output.txt
尝试使用
screen
命令,并将其回滚缓冲区设置为更大的大小。
screen
还有许多其他好处和精彩的功能。
如果您所做的只是查看日志,您也可以使用寻呼机,例如
less
如果你想逐行滚动,可以使用
Control+Shift+向上/向下箭头。
如果您使用的是 gnome-term(默认),那么您可以更改您的设置。 要么设置编号。行数设置为无限,或者设置为比默认值大得多的缓冲区大小。
如果您在 tmux 中(可以在单个终端会话中创建多个终端会话,强烈推荐),您可以在执行 Ctrl-b 然后 [,了解更多信息后轻松使用普通导航键进行滚动详情我们看一下:如何在 tmux 中滚动?
这些都没有回答原来的问题。 所有答案都是如何使新的终端窗口(或当前的终端窗口)开始以某种方式运行。 问题是如何查看已经滚走的内容。
为了回答这个问题,每个终端会话应该有自己的“历史”文件(不要与命令历史混淆),其中包含与显示的 stdin/stdout 相关的所有内容。 我可能是错的,但这可能会有所不同,具体取决于您使用的终端模拟器。有些人只是在您关闭窗口/结束会话时将其丢弃。
我正在尝试自己解决这个问题,所以这是另一个线程中更直接的答案。
https://unix.stackexchange.com/questions/145050/what-exactly-is-scrollback-and-scrollback-buffer
据此告诉我,我怀疑您可以获得的最佳建议是,对于您使用的任何终端模拟器,查找它存储回滚缓冲区的位置,这可能是您唯一的希望。 这就是我现在要尝试的。 (也就是说,如果会话当前仍然打开,而不是关闭终端窗口)
我可能错过了,但似乎没有人提到head或tail的价值。如果您只对日志顶部的第一条视图线感兴趣,
head /var/log/messages.log
如果您也想看到更多或更少的顶部,那么:
head -NUM /var/log/messages
其中NUM是大于0的数值 由于问题是关于滚动到日志顶部的,因此我不会向您介绍 tail 的详细信息。在所有选项中,我喜欢:
cat /var/log/messages | more
上面已经建议了,它将为您提供一种简单的方法来向下移动日志文件的行。在某些系统上,您实际上可以向上或向下滚动更多内容。