clear怎么工作的

clear可以清除终端显示,并把光标移到左上角。

我看到如果想让一个文件在显示前清屏,可先clear > file然后继续编辑内容。看来clear输出了一些控制字符。

到底是什么?

运行clear|od -c

0000000 033 [ H 033 [ 2 J
0000007

明白了

033是ESC转义字符的ASCII八进制,可用^[或\e表示。

  • \e[H 将光标移动到左上角
  • \e[2J 清除屏幕文本,但不移动光标

附注:\e[y;xH可以把光标移动到y行x列

如果没有clear命令,可用echo -ne '\e[H\e[2J'代替,