什么是Windows / DOS中的“cls”命令的等价物?
我以前在windows中使用cmd,而我使用的命令行很多,是cls
。 它有点像Linux中使用的clear
命令,但它会永久清除屏幕。
如果使用clear
命令,它只是向下滚动,这样就不会看到你在哪里工作的命令。
我喜欢这两个,但我的问题是,我如何获得像命令一样的cls
,清除屏幕,无法浏览,看到你在哪里工作的命令?
你可以使用reset
。 这会重置整个终端,但这可能有点矫枉过正。
关于Konsole的注意事项:
@Mechanical蜗牛注意到“在Konsole 4.8.5中,如果向上滚动,旧文本仍然存在”。 @gertvdijk解释说它是“一个function.Console有Ctrl + Shift + K (重置和清除回滚)。”
将此行添加到~/.bashrc
(即名为.bashrc
的文件,位于您的主文件夹中 – 您可以通过按Ctrl + H在Nautilus中看到它):
alias cls='printf "\033c"'
现在cls
命令将像在Windows中一样清除屏幕。 它会让你回到终端窗口的顶部,上面没有显示文字。 (它不会删除shell的命令历史记录。)
这是因为:
- 每次
bash
shell启动时都会运行.bashrc
。 -
alias
命令定义cls
命令以运行右侧引用的命令。 -
printf
命令将字符写入终端。 它接受转义码。 八进制033
是用于表示终端控制代码开始的字符。 控制代码c
告诉终端清除自己。 - 所以,通过对
.bashrc
这种修改。 运行cls
将必要的数据发送到终端,告诉它清除自己。
在当前的终端窗口中,只需键入以下内容:
printf "\033c"
如果目的是避免只是偶然重新发现命令历史, reset
可能是一个可行的选择。
但是,请记住,默认情况下,shell会将您的命令历史记录记录到文件中 – 这也是非常容易被发现的。 如果您想阻止其他人浏览您的命令历史记录,您也应该清除它。
history -c
#清除你的历史
cls
通过清除缓冲区来工作,缓冲区分别在DOS和Windows的情况下固定25或50行。 你可以通过在溢出的缓冲区中写入这么多行来实现这样的事情(2000是一个典型值),但是随着@lgarzo说, reset
也是一个可行的选择。