事后澄清

事后澄清

我使用的 bash 命令会输出大量数据,我所需要的只是查看运行的命令以及随后适合屏幕的输出。有这个的键盘快捷键吗?我宁愿不使用 head 或根本更改命令

事后澄清

我有一堆不同的命令组合正在运行,并且它们的输出立即显示,我只是希望能够跳转到之前运行的命令,或者让命令仅输出一个屏幕的输出,但我必须复制该命令之后我不想因为这个原因使用 head 。

答案1

如果您的终端(模拟器)可以理解 DEC VT10x 控制台代码,您可以在清除屏幕后将滚动区域设置为屏幕的最后两行:

echo -e "\e[2J\e[$((LINES-1));${LINES}r"

随后将看到您的命令及其输出的第一个屏幕。键入reset将撤消更改。

答案2

我认为tput li显示了终端窗口的行数。减去两个,然后将该值与 a 一起使用head -n以仅显示第一个n输出行。这会将您的命令保留在第一行,将提示符保留在最后一行。

答案3

涉及快捷方式的 bash 解决方案:

  1. 以大输出启动你的程序
  2. 屏幕填满后,点击CTRL + s暂停输出
  3. 要恢复输出,请点击CTRL + q

相关内容