Bash 如何跳转到shell输出的第一行?(相当于emacs comint show输出的shell)

Bash 如何跳转到shell输出的第一行?(相当于emacs comint show输出的shell),bash,shell,Bash,Shell,我最近在emacs外壳模式中发现了“comint show output”,它跳到外壳输出的第一行,当查看超过屏幕长度的外壳输出时,我发现这非常方便。与使用“翻页”滚动相比,此命令的优点是A)您不必用眼睛扫描输出的第一行B)您只需点击组合键一次(而不是预先不知道的多次“翻页”) 我曾想过用“| more”结束所有命令,但实际上这不是我想要的,因为大多数时候,我希望将所有输出保留在终端缓冲区中,并且通常希望首先看到shell输出的结尾 我使用OSX。是否有终端应用程序(在os x上)和shell(

我最近在emacs外壳模式中发现了“comint show output”,它跳到外壳输出的第一行,当查看超过屏幕长度的外壳输出时,我发现这非常方便。与使用“翻页”滚动相比,此命令的优点是A)您不必用眼睛扫描输出的第一行B)您只需点击组合键一次(而不是预先不知道的多次“翻页”)

我曾想过用“| more”结束所有命令,但实际上这不是我想要的,因为大多数时候,我希望将所有输出保留在终端缓冲区中,并且通常希望首先看到shell输出的结尾


我使用OSX。是否有终端应用程序(在os x上)和shell(在远程linux上)的组合等效(这样我就可以不用一直使用emacs来做类似的事情——我知道,疯狂的谈话)?我通常使用bash,但只为了这个特性而切换shell就可以了

您可以在bash中执行以下操作:

alias foo='!! | more'

这将使foo以更高的速度运行上一个命令。我不确定有什么方法可以完全按照你的建议去做。

在bash中,你可以做如下事情:

alias foo='!! | more'

这将使foo以更高的速度运行上一个命令。我不确定是否有任何方法可以完全按照您的建议执行。

如果您需要大量的输出,并且不想运行命令两次,您可以使用fork来完成输出:

my-command | tee /tmp/my-command.log | less

这将通过管道将输出传输到分页器(
less
),同时将输出记录到文件(在本例中,是名为
/tmp/my command.log
)的文件)。如果您在退出
less
后需要查看输出,您可以只查看日志文件,而不是重新运行命令。

如果您需要大量输出,并且不想运行命令两次,您可以使用fork输出:

my-command | tee /tmp/my-command.log | less

这将通过管道将输出传输到分页器(
less
),同时将输出记录到文件(在本例中,是名为
/tmp/my command.log
)的文件)。如果在退出
less
后需要查看输出,则只需查看日志文件,而无需重新运行命令。

我执行这类操作的方法是将输出发送到文件,然后在写入文件时查看该文件。您仍然可以实时获得转储到终端历史的命令结果,并且仍然可以在事件发生后进一步检查输出的实际内容(或在另一个终端中,等等)


我做这类事情的方法是将我的输出发送到一个文件,然后在文件写入时观察它。您仍然可以实时获得转储到终端历史的命令结果,并且仍然可以在事件发生后进一步检查输出的实际内容(或在另一个终端中,等等)