外壳控制台清除

saw*_*awa 9 shell terminal

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

Fah*_*tha 15

reset
Run Code Online (Sandbox Code Playgroud)

命令是ncurses 的一部分,位于Debian 上的ncurses-bin包中,它将完全清除控制台。那是你要的吗?

reset来自手册页的简要摘要:

reset 设置煮熟和回声模式,关闭 cbreak 和原始模式,打开换行转换并将任何未设置的特殊字符重置为其默认值,然后以与 tset 相同的方式进行终端初始化。

正如在https://superuser.com/questions/122911/bash-reset-and-clear-commands 中讨论的那样,正如 Erik 在Shell console clearing 中指出的那样,clear只会清除屏幕,reset将(正如 bignose 所说), “当它被控制序列搞砸时重置你的终端”。就我个人而言,我很擅长弄乱我的终端,当我清除它时,我不想找回之前存在的任何东西,所以我只使用reset. 但是嗯。


小智 9

我通常只使用:

clear
Run Code Online (Sandbox Code Playgroud)

clear手册页:

clear clears your screen if this is possible.  It looks in the environ-
ment for the terminal type and then in the terminfo database to  figure
out how to clear the screen.

clear ignores any command-line parameters that may be present.
Run Code Online (Sandbox Code Playgroud)

  • @Mikel 它只是不起作用。该行向上滚动,光标位于第一条可见行,但滚动条位于底部。 (3认同)

gab*_*be. 5

这不是您问题的答案,但您可以使用更少,并保持您的颜色,请参阅:https : //serverfault.com/questions/26509/colors-in-bash-after-piping-through-less

暗示:

$ grep --color=always foo bar.txt | 少 -r