如何真正清除终端?
我可以发出clear
命令或按Ctrl + L清除当前的Ubuntu终端,但这只是向上移动以前的输出,如果你使用鼠标滚动或PgUP和PgDown键,很难区分上一个命令的输出结束和输出的位置当前命令开始。
有没有办法真正清除终端,所以我不会看到以前的命令结果?
是的,你正在寻找的命令是
reset
与clear
或Ctrl + L相比 , reset
实际上会完全重新初始化终端 ,而不仅仅是清除屏幕。 但是,它不会重新实例化shell(bash)。 这意味着bash的状态与之前相同,就像你只是清理屏幕一样。
正如@Wallacoloo在评论中提到的,这个命令应该更快地做同样的事情:
tput reset
从其他答案:
-
您可以设置键盘快捷键来
reset
终端,如towolf所述 。 -
如果您正在运行Kubuntu ,并且您的终端是Konsole,则需要转到编辑→清除历史记录 ,因为
reset
不会像UncleZeiv所说的那样在那里工作。
我一直在寻找这个,我找到了一些天才,发布了这个:
clear && printf '\e[3J'
清除整个屏幕缓冲区,非常干净。 适用于OS X并且相信它在大多数* nix终端上都能正常工作。
好奇的是,这部分'\e[3J'
是一个终端逃脱命令。
您还可以通过转到编辑→键盘快捷键在gnome-terminal中指定快捷方式 。 我使用Shift + Ctrl + Alt + C.
运行此命令:
reset
这与启动新终端具有相同的效果。
从stackoverflow交叉发布我的答案。
使用以下命令执行清除屏幕而不是仅添加新行…
printf "\033c"
是的,这是bash提示符下的’printf’。
你可能想要定义一个别名…
alias cls='printf "\033c"'
说明
\033 == \x1B == 27 == ESC
所以这变为
,它是用于重置终端的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"'
我从这里得到了回滚清除命令。
我最喜欢的是printf "\ec"
。 这也可以是printf "\033c"
或printf "\x1bc"
。 这是一个ansi转义序列,奇迹般地清除了终端输出的屏幕和缓冲区(对于我工作过的大多数标准终端来说似乎 – 我知道它在Ubuntu之类的gnome-terminal,terminator,xterm等工作Linux版本)
我知道这可以在Linux Mint和Ubuntu 14.04中使用,所以我不知道为什么人们会附加和预设像clear && echo -ne "\033c
printf "\ec"
这样的东西一直对我clear && echo -ne "\033c
。
另外,在我的.bashrc
我有这样的绑定:
bind -x '"\Ct": printf "\ec"';
现在我一直按ctrl t 。
嗯,这真的取决于,例如,如果您使用Konsole
,即使reset
也不会阻止您滚过第一行。 在这种情况下,您必须使用您正在使用的特定终端的某些function。 对于Konsole
,它是Edit > Clear History
。
我发现以下内容在Kubuntu上非常成功:
alias clc="echo -en '\033c\033[3J'"
您可以使用cls
来保持Windows传统,使用Matlab版本clc
或您自己的版本。 祝好运!
或者reset
,你可以做echo -e "\033c"
,或者你的.bashrc
有alias cls="echo -ne '\033c'"
UNIX / Linux StackExchange上有一个post: 如何完全清除终端? (unix.stackexchange.com) ,以及SuperUser: 使用键盘快捷键清除终端(superuser.com) 。
@ Hibou57答案的另一种选择:
# The Octal Way alias clear="echo -e '\033c\c'"
要么
# The Hex Way alias clear="echo -e '\x1b\c'"
基本上这将具有完全相同的效果,它将打印^[
字符(清除您的终端)并且不输出尾随的新行。
如果您使用的是yakuake或Konsole,请尝试Ctrl + Shift + K.
资料来源: https : //bugs.kde.org/show_bug.cgi?id = 309008