当我们在终端中使用clear
命令或Ctrl+时L,它会清除终端,但我们仍然可以向后滚动以查看上次使用的命令。有没有办法彻底清除终端?
答案1
您可以使用tput reset
。
此外reset
,tput reset
您还可以使用以下 shell 脚本。
#!/bin/sh
echo -e \\033c
这会将控制字符发送Esc-C
到重置终端的控制台。
谷歌关键词:Linux 控制台控制序列
man console_codes
说:
序列 ESC c 会导致终端重置,如果屏幕全是乱码,这正是您想要的。经常建议的“echo ^V^O”只会使 G0 成为当前的,但不能保证 G0 指向表 a)。在某些发行版中,有一个程序 Reset(1) 只执行“echo ^[c”。如果控制台的 terminfo 条目正确(并且有一个条目 rs1=\Ec),那么“tput Reset”也将起作用。
答案2
您可以使用该reset
命令来重置终端设置。
答案3
我知道您使用的是 gnome 终端,但我想我应该为其他可能(像我)使用 Mac 的人提供一个提示:
如果您正在使用Terminal.app
或iTerm.app
thenControl+L
将向上滚动,使终端看起来空白,但Cmd+K
实际上会重置终端/清除回滚。
或者,如果您能够为终端设置键盘首选项,您也许可以分配类似于上面提到的Ctrl+K
输入的内容。echo -e \\033c
答案4
几年前我在网上发现了这个,对我来说效果很好。它完全清除终端,没有滚动历史记录。
echo -e "\e[3J"