有没有办法只用一个或两个键就可以清除 shell 控制台(在 ubuntu linux 中)上显示的内容?当我收到来自和的大量行时,grep
这些行超出了窗口的高度,我想在提示后快速滚动回到我输入命令的位置。如果我在输入命令之前打开了一个新的终端,然后转到初始位置,我就可以这样做。但如果继续使用同一个终端窗口,我必须手动找到位置。Ctrl+l
不是一个答案,因为它只是滚动,终端的内容仍然存在。我无法使用,less
因为的彩色输出grep
没有显示。
答案1
如果控制台卡住或已满,则:
reset
将清除并重置状态。您也可以通过魔法序列发送此消息Ctrl-v Esc c Enterclear
如果你只是想清除屏幕;你可以将它与你想要的输出结合起来:clear ; grep -r …
(顺便说一句,reboot
是一个单独的命令,所以不要担心使用clear
或意外重新启动你的机器reset
!)。
答案2
实际上你可以坚持使用较少的 - 试试这个:
grep --color=always foo * | less -r
这将告诉 grep 忽略它的输出正在被管道传输,而 less 上的“-r”告诉它传递原始控制字符,在本例中是颜色代码。