我使用的 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 解决方案:
- 以大输出启动你的程序
- 屏幕填满后,点击
CTRL + s
暂停输出 - 要恢复输出,请点击
CTRL + q