如何为 Ubuntu/Linux 创建一个 cls 类型的命令,它不仅可以清除终端仿真器屏幕,还可以使您无法向上滚动查看清除的内容?请注意,该clear
命令不会消除文本。它只是将其向上滚动到视野之外。此外,有关将其设置为系统范围命令的任何信息cls
都会有所帮助(对于即将转用 Linux 的 Windows 用户尤其有用)。
答案1
创建一个脚本,将其命名为cls
,使其可执行(chmod +x cls
),并赋予其以下内容:
#!/bin/bash
printf "\033c"
在将其添加到路径之前,您可能需要确保没有cls
已被调用的程序:
update-alternatives --config cls
然后,要将其添加到系统范围的路径中,请将脚本放在安全的系统位置,例如,/opt/bin/cls
并使用update-alternatives
将其添加到所有用户的路径中:
sudo update-alternatives --install /usr/bin/cls cls /opt/bin/cls 0
您可以将脚本放在~/bin
(波浪号代表您的主目录)中,以便它位于单个用户的路径中(如果您必须创建目录bin
,则需要重新启动计算机才能将其放置在您的路径中。在这种情况下,无需对 update-alternatives 执行任何操作。
答案2
正如@user2962794所提到的,清除终端的命令是发出转义码\033c
。这是用于将终端重置为初始状态的VT-100 ANSI转义序列(RIS,请参阅这里) 并且是 ASCII“转义”字符 ( \033
) 后跟c
。
因此,要清除终端,你只需要
printf printf "\033c"
或者
echo -ne "\033c"
为了简化操作,您可以为其创建一个别名。将此行添加到您的~/.bashrc
:
alias cls="printf '\033c'"
现在,打开一个新终端并运行cls
将清除它。请注意,如果已经有一个名为的命令cls
,它将取代它。请确保选择一个唯一的名称以避免这种情况。