清除真实的terminal屏幕

在terminal上使用clear命令只会让用户认为屏幕已经被清除了……当您使用鼠标进行滚动时,仍然可以看到先前命令的输出。 当你在海啸中淹死时,这会使生活变得困难。

在互联网上可以find的各种解决scheme(转义码等)只是清楚的命令已经做的变化。

那么如何清除Ubuntu中bashterminal的内容呢?

使用下面的命令做一个清晰的屏幕,而不是仅仅添加新行…

 printf "\033c" 

是的,这是bash提示符下的“printf”。

你可能想要定义一个别名,但…

 alias cls='printf "\033c"' 

说明

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

所以这成为<ESC>c ,这是用于重置terminal的VT100转义码。 这里是一些关于terminal转义代码的更多信息。

编辑

这里有一些其他的做法…

 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"' 

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

尝试reset 。 它清除了terminal屏幕,但以前的命令可以通过箭头或任何你有的键绑定访问。

input重置

这将做的伎俩!

我读到的答案都没有在PuTTY中工作,所以我发现这篇文章的评论:

在连接设置中,在“窗口 – >行为”下,您会看到一个设置“系统菜单仅在ALT上出现”。 然后CTRL + L,ALT,l(这是一个小写的L)将滚动屏幕,然后清除回滚缓冲区。

(与OP相关,因为我连接到Ubuntu服务器,但无论你的服务器在运行,它也显然是相关的。)

我最喜欢的人类友好命令是:

 reset 

在xterm和VT100上testing。 这也有助于在exception程序终止后。 保持命令缓冲区,所以向上箭头将循环前面的命令。

干杯:D

以下链接将解释如何使这个别名永久,所以你不必继续input。

https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias

这些链接详细说明了这些步骤。

  1. vim〜/ .bashrc或者gedit〜/ .bashrc或者你喜欢的文本编辑器
  2. 在文件底部放置alias cls ='printf'\ 033c“'
  3. 保存并退出
  4. 。 〜/ .bashrc(是的,应该有。和〜之间的空格)
  5. 现在检查,看看是否一切正常!

我不记得这个信息,只是通过它。

使用KDE和Ubuntu 12.04 LTS和“Konsole”terminal,没有任何发布的答案工作。 但是,按下默认的键盘快捷键CTRL + Shift + X也行! 资源:

https://bugs.kde.org/show_bug.cgi?id=288913

编译这个程序。

 #include <iostream> #include <cstring> int main() { char str[1000]; memset(str, '\n', 999); str[999] = 0; std::cout << str << std::endl; return 0; }