clear的问题
clear命令可以实现清屏,但是用ssh连接Linux服务器时使用这个命令有个致命的缺点:只是将屏幕向下翻一页,之前的内容仍然可以通过向上翻页(转动鼠标滚轮)看到。
解决方案
方法一
无意间的测试发现,连续使用两次clear可以真正清屏。
因此可以写个文件cls
vi cls
在文件中写:
#!/bin/bash
clear
clear
放在PATH路径中,并给文件执行权限,之后只要执行cls命令即可清屏。
方法二
后来发现,重装了一个centos之后上述方法失效,经过Google,可以连续两次使用tput reset来实现
tput reset && tput reset
方法三
echo -e "\033c" && echo -e "\033c"
或者
printf "\033c" && printf "\033c"
经过测试,发现printf "\033c" && printf "\033c"速度最快
各条命令的解释:
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
参考https://askubuntu.com/questions/25077/how-to-really-clear-the-terminal
本文介绍了在SSH连接的Linux服务器上如何真正清屏的三种方法:连续使用两次clear命令,使用tput reset组合,以及通过echo或printf发送特定的ESC序列。这些方法可以避免仅翻页而保留历史内容的情况,确保终端完全清空。
&spm=1001.2101.3001.5002&articleId=112972212&d=1&t=3&u=288a52a643344cbe8741526e9130e197)
8万+

被折叠的 条评论
为什么被折叠?



