在终端上使用 clear 命令只会欺骗用户认为屏幕已被清除...当您使用鼠标滚动时,您仍然可以看到之前命令的输出 . 当你淹没在海啸的文字中时,这会让生活变得困难 .
clear
可以在因特网上找到的各种解决方案(转义码等)只是clear命令已经做的变化 .
那么如何清除Linux中终端的内容呢?
使用以下命令执行清除屏幕而不是仅添加新行...
printf "\033c"
是的,这是bash提示符下的'printf' .
你可能想要定义一个别名......
alias cls='printf "\033c"'
\033 == \x1B == 27 == ESC
所以这变成 <ESC>c ,这是用于重置终端的VT100转义码 . Here是有关终端转义码的更多信息 .
<ESC>c
以下是其他一些方法......
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控制台(称为Konsole),但有希望!使用以下命令序列清除屏幕和回滚缓冲区...
clear && echo -en "\e[3J"
或者在KDE上使用以下别名......
alias cls='clear && echo -en "\e[3J"'
我从here获得了回滚清除命令 .
试试 reset . 它会清除终端屏幕,但可以通过箭头或您拥有的任何键绑定来访问以前的命令 .
reset
tput reset
那就行了!
我读过的所有答案都没有在PuTTY中工作,所以我在this article上发表了评论:
在连接设置中,在“窗口 - >行为”下,您将找到“系统菜单仅在ALT上显示”的设置 . 然后按CTRL L,ALT,l(这是一个小写的L)将滚动屏幕,然后清除回滚缓冲区 .
(与OP相关,因为我连接到Ubuntu服务器,但无论你的服务器运行什么,它显然都很相关 . )
以下链接将解释如何将该别名设为永久性,以便您不必继续输入该别名 .
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
这些是该链接详述的步骤 .
vim~ / .bashrc或gedit~ / .bashrc或者你喜欢的文本编辑器
将别名cls = 'printf 1852072 '放在文件的底部
保存并退出
. 〜/ .bashrc(是的,应该有 . 和〜之间的空格)
现在检查一下是否一切正常!
我不相信这些信息只是传递它 .
我最喜欢的人性友好命令是:
在xterm和VT100上测试过 . 在异常程序终止后它也有帮助 . 保留命令缓冲区,因此向上箭头将循环显示以前的命令 .
欢呼声:D
使用KDE和Ubuntu 12.04 LTS以及“Konsole”终端,所有发布的答案都不起作用 . 但是,按默认键盘快捷键CTRL Shift X确实有效!资源:
https://bugs.kde.org/show_bug.cgi?id=288913
我知道采用新线印刷的解决方案不太受支持,但如果一切都失败了,为什么不呢?特别是在其他人可能能够看到屏幕的环境中操作,但却无法使用键盘记录 . 一个可能的解决方案是以下别名:
alias c="printf '\r\n%.0s' {1..50}"
然后,到"clear"离开屏幕的当前内容(或者更确切地说,隐藏它们),只需在终端输入 c+Enter 即可 .
c+Enter
echo -e "\e[3J"
这适用于Linux机器
编译这个应用程序 .
#include <iostream> #include <cstring> int main() { char str[1000]; memset(str, '\n', 999); str[999] = 0; std::cout << str << std::endl; return 0; }
10 回答
使用以下命令执行清除屏幕而不是仅添加新行...
是的,这是bash提示符下的'printf' .
你可能想要定义一个别名......
解释
所以这变成
<ESC>c
,这是用于重置终端的VT100转义码 . Here是有关终端转义码的更多信息 .编辑
以下是其他一些方法......
KDE
以上不适用于KDE控制台(称为Konsole),但有希望!使用以下命令序列清除屏幕和回滚缓冲区...
或者在KDE上使用以下别名......
我从here获得了回滚清除命令 .
试试
reset
. 它会清除终端屏幕,但可以通过箭头或您拥有的任何键绑定来访问以前的命令 .那就行了!
我读过的所有答案都没有在PuTTY中工作,所以我在this article上发表了评论:
在连接设置中,在“窗口 - >行为”下,您将找到“系统菜单仅在ALT上显示”的设置 . 然后按CTRL L,ALT,l(这是一个小写的L)将滚动屏幕,然后清除回滚缓冲区 .
(与OP相关,因为我连接到Ubuntu服务器,但无论你的服务器运行什么,它显然都很相关 . )
以下链接将解释如何将该别名设为永久性,以便您不必继续输入该别名 .
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
这些是该链接详述的步骤 .
vim~ / .bashrc或gedit~ / .bashrc或者你喜欢的文本编辑器
将别名cls = 'printf 1852072 '放在文件的底部
保存并退出
. 〜/ .bashrc(是的,应该有 . 和〜之间的空格)
现在检查一下是否一切正常!
我不相信这些信息只是传递它 .
我最喜欢的人性友好命令是:
在xterm和VT100上测试过 . 在异常程序终止后它也有帮助 . 保留命令缓冲区,因此向上箭头将循环显示以前的命令 .
欢呼声:D
使用KDE和Ubuntu 12.04 LTS以及“Konsole”终端,所有发布的答案都不起作用 . 但是,按默认键盘快捷键CTRL Shift X确实有效!资源:
https://bugs.kde.org/show_bug.cgi?id=288913
我知道采用新线印刷的解决方案不太受支持,但如果一切都失败了,为什么不呢?特别是在其他人可能能够看到屏幕的环境中操作,但却无法使用键盘记录 . 一个可能的解决方案是以下别名:
然后,到"clear"离开屏幕的当前内容(或者更确切地说,隐藏它们),只需在终端输入
c+Enter
即可 .这适用于Linux机器
编译这个应用程序 .