我是新手,因此对于违反任何提问规则深表歉意。
Bash 正在删除任何离开终端窗口的命令行输入和输出,也就是说,我无法向上滚动来查看 +~30 之前的命令,或者如果机器有长输出,它会离开屏幕并且现在永远消失了。
以前,右侧会出现一个滚动条,我可以通过它查看之前的 I/O。现在,只有一页 I/O,之前的内容都无法访问。这就像写一份谷歌文档,但每当你添加内容时,文档顶部就会消失。
有人曾经见过这种情况吗?如果是的话,我该如何阻止它?
不确定这是否与这个问题相同不适合放在一页上的 bash 命令 - 使输出可滚动 直到今天早上我还在开心地浏览着一行行“历史”
干杯。
如果您觉得发布的答案没有解决您的问题,请尽可能清楚地描述您的计算机行为发生了怎样的变化 — 今天之前您可以做什么而现在不能做什么?您是指只查看以前的命令,还是指它们的输出?您是如何“愉快地滚动”的?请不要在评论中回复;编辑您的问题以使其更清晰、更完整。如果您对得到的答案感到满意,请不要介意
答案1
您可以回滚多少并不取决于 bash 本身,而是取决于终端窗口的设置。您看到的大部分输出不是来自 bash,而是来自 bash 启动的命令(并且 bash 看不到任何这些命令)
如果您希望命令输出大量内容,可以将其通过管道传输到more
或传输到less
(less
允许您前后滚动):
some_command | less
或者到一个文件然后编辑该文件:
some_command >command.log
默认情况下,您只能通过这种方式获得标准输出,错误消息仍直接发送到终端,如果您也想捕获错误消息,请将 stderr 流重新路由到 stdout:
some_command >command.log 2>&1
过滤输出以grep
仅显示您感兴趣的部分也很有用:
some_command | grep "Warning:"
您可以使用“光标向上”来调用您发出的命令。