一尘不染

清除终端屏幕的真实

linux

使用clear终端上的命令只会使用户误以为屏幕已被清除…使用鼠标滚动时,您仍然可以看到以前命令的输出。当您淹没在文本海啸中时,这将使生活变得困难。

可以在Internet上找到的各种解决方案(转义码等)只是clear命令已经完成的工作的变体。

那么,如何真正清除Linux中终端的内容呢?


阅读 220

收藏
2020-06-02

共1个答案

一尘不染

使用以下命令可以清晰显示屏幕,而不仅仅是添加新行…

printf "\033c"

是的,这是bash提示上的“ printf”。

您可能会想要定义一个别名…

alias cls='printf "\033c"'

说明

\033 == \x1B == 27 == ESC

因此,这<ESC>c就是用于重置终端的VT100转义代码。是有关终端转义码的更多信息。

编辑

还有其他几种方法…

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

上面的方法在KDE控制台(称为Konsole)上不起作用,但是有希望!使用以下命令序列清除屏幕和向后滚动缓冲区…

clear && echo -en "\e[3J"

或者在KDE上使用以下别名…

alias cls='clear && echo -en "\e[3J"'

我从这里得到了回滚清除命令。

2020-06-02