Sta*_*ann 469 command-line xterm
我可以发出clear
命令或按Ctrl+L清除当前Ubuntu的终端,但是这只是转移之前的输出向上,如果你使用鼠标滚轮或PgUP和PgDown钥匙很难区分在以前命令结束的输出,输出电流命令的开始。
有没有办法真正清除终端,这样我就看不到以前的命令结果了?
Ste*_*zzo 530
是的,您正在寻找的命令是
reset
Run Code Online (Sandbox Code Playgroud)
与clear
, 或Ctrl+ 相比L,reset
实际上将完全重新初始化终端,而不仅仅是清除屏幕。但是,它不会重新实例化 shell (bash)。这意味着 bash 的状态和以前一样,就好像您只是在清除屏幕一样。
正如@Ponkadoodle 在评论中提到的,这个命令应该更快地做同样的事情:
tput reset
Run Code Online (Sandbox Code Playgroud)
从其他答案:
您可以将一组键盘快捷键,以reset
终端,如通过解释towolf。
如果您正在运行Kubuntu,并且您的终端是 Konsole,您需要转到Edit ?清除历史记录,因为reset
在那里的工作方式不同,正如 UncleZeiv 指出的那样。
小智 148
我一直在寻找这个,我发现一些天才发布了这个:
clear && printf '\e[3J'
Run Code Online (Sandbox Code Playgroud)
清除整个屏幕缓冲区,非常干净。可在 OS X 上运行并相信它在大多数 *nix 终端上运行良好。
出于好奇,这部分'\e[3J'
是一个终端转义命令。
小智 52
您还可以通过转到Edit在 gnome-terminal 中分配快捷方式?键盘快捷键。我使用Shift+ Ctrl+ Alt+ C。
Aut*_*act 23
从stackoverflow交叉发布我的答案。
使用以下命令清除屏幕,而不仅仅是添加新行...
printf "\033c"
Run Code Online (Sandbox Code Playgroud)
是的,这是 bash 提示符下的“printf”。
你可能想定义一个别名...
alias cls='printf "\033c"'
Run Code Online (Sandbox Code Playgroud)
printf "\033c"
Run Code Online (Sandbox Code Playgroud)
所以这变成<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
Run Code Online (Sandbox Code Playgroud)
以上在 KDE 控制台(称为 Konsole)上不起作用,但有希望!使用以下命令序列清除屏幕和回滚缓冲区...
clear && echo -en "\e[3J"
Run Code Online (Sandbox Code Playgroud)
或者也许在 KDE 上使用以下别名...
alias cls='clear && echo -en "\e[3J"'
Run Code Online (Sandbox Code Playgroud)
我从这里得到了回滚清除命令。
dv3*_*0ea 18
运行这个命令:
reset
Run Code Online (Sandbox Code Playgroud)
这与启动新终端的效果相同。
我最喜欢的是printf "\ec"
。这也可以是printf "\033c"
或printf "\x1bc"
。这是一个ansi转义序列,它奇迹般地清除了终端输出的屏幕和缓冲区(对于我使用过的大多数标准终端来说似乎 - 我知道它可以在类似 Ubuntu 的 gnome-terminal、terminator、xterm 等中使用Linux)
我知道这适用于 Linux Mint 和 Ubuntu 14.04,所以我不知道为什么人们要附加和准备诸如clear && echo -ne "\033c
. printf "\ec"
一直为我工作。
此外,在我的.bashrc
我有这样的绑定:
bind -x '"\C-t": printf "\ec"';
Run Code Online (Sandbox Code Playgroud)
现在我一直按ctrlt。
好吧,这真的取决于,Konsole
例如,如果您正在使用,甚至reset
不会阻止您滚动到第一行。在这种情况下,您必须使用您正在使用的特定终端的某些功能。对于Konsole
,它是Edit > Clear History
。
小智 5
我发现以下内容在 Kubuntu 上非常成功:
alias clc="echo -en '\033c\033[3J'"
Run Code Online (Sandbox Code Playgroud)
您可以cls
使用 Matlab 版本clc
或您自己的版本来保持 Windows 传统。祝你好运!
以下是在 Unix 中清除终端屏幕的所有方法:
clear # only clear visible screen
clear && clear # clear buffer as well
tput clear # same as clear but by sending escape seq
reset # clear + reset internal terminal state + 1sec delay
tput reset # same as reset but without 1sec delay
stty sane # don't clear screen but reset some terminal options
echo -e "\033c" # same as tput reset but hardcoded escape seq
printf "\033c" # same as tput reset but hardcoded escape seq
setterm -reset # same as tput reset, setterm has friendlier commands
Run Code Online (Sandbox Code Playgroud)