当 grep 填满屏幕后,如何清除控制台窗口?

当 grep 填满屏幕后,如何清除控制台窗口?

有没有办法只用一个或两个键就可以清除 shell 控制台(在 ubuntu linux 中)上显示的内容?当我收到来自和的大量行时,grep这些行超出了窗口的高度,我想在提示后快速滚动回到我输入命令的位置。如果我在输入命令之前打开了一个新的终端,然后转到初始位置,我就可以这样做。但如果继续使用同一个终端窗口,我必须手动找到位置。Ctrl+l不是一个答案,因为它只是滚动,终端的内容仍然存在。我无法使用,less因为的彩色输出grep没有显示。

答案1

如果控制台卡住或已满,则:

  • reset将清除并重置状态。您也可以通过魔法序列发送此消息Ctrl-v Esc c Enter
  • clear如果你只是想清除屏幕;你可以将它与你想要的输出结合起来:clear ; grep -r …

(顺便说一句,reboot是一个单独的命令,所以不要担心使用clear或意外重新启动你的机器reset!)。

答案2

实际上你可以坚持使用较少的 - 试试这个:

grep --color=always foo * | less -r

这将告诉 grep 忽略它的输出正在被管道传输,而 less 上的“-r”告诉它传递原始控制字符,在本例中是颜色代码。

相关内容