来自 Windows/DOS 的“cls”命令的等价物是什么?

bla*_*899 34 command-line

我曾经在 Windows 中使用 cmd,而我经常使用的命令行是cls. 它有点像clearLinux 中使用的命令,但它会永久清理屏幕。

如果您使用该clear命令,它只会向下滚动,这样您就看不到正在处理的命令。

我两个都很喜欢,但我的问题是,我如何获得一个cls喜欢的命令,它会清除屏幕,并且无法向上浏览,以查看您正在处理的命令?

lga*_*rzo 18

您可以使用reset. 这会重置整个终端,所以这可能有点矫枉过正。

关于 Konsole 的注意事项:
@Mechanical snail注意到“在 Konsole 4.8.5 中,如果向上滚动,旧文本仍然存在”。 @gertvdijk解释说,这是“一个特色。有Ctrl+ Shift+K的的Konsole(复位和清除屏幕滚动)。”


小智 15

将此行添加到~/.bashrc(即,名为 的文件.bashrc,位于您的主文件夹中——您可以通过按Ctrl+在 Nautilus 中看到它H):

alias cls='printf "\033c"'
Run Code Online (Sandbox Code Playgroud)

现在该cls命令将像在 Windows 中一样清除屏幕。它会让你回到终端窗口的顶部,上面没有显示任何文本。(它不会删除 shell 的命令历史记录。)

这是有效的,因为:

  • .bashrc每次bashshell 启动时运行。
  • alias命令定义了cls运行右侧引用的命令的命令。
  • printf命令将字符写入终端。它接受转义码。八进制033是用于表示终端控制代码开始的字符。该控制代码 c通知终端以清除本身。
  • 因此,通过对.bashrc. 运行cls将必要的数据发送到终端,告诉它自行清除。

  • 请注意,“\033c”或十六进制变体“\x1Bc”(ESC c)可能非常特定于终端类型。`printf $(tput clear)` 可能更便携(取决于 terminfo、`man 5 terminfo`、`man terminfo`)。 (2认同)

小智 6

在您当前的终端窗口中,只需键入以下内容:

printf "\033c"
Run Code Online (Sandbox Code Playgroud)