シェルのclearコマンドについてのメモ

これはなに Link to this heading

シェルのclearコマンドについてのメモ。

clear コマンドとは Link to this heading

clear コマンドは、ターミナルの画面をクリアするコマンドである。

clear コマンドを実行すると、ターミナルの画面がクリアされ、新しい画面が表示される。

Ctrl + Lでも同様の効果がある。

clear コマンドの実装 Link to this heading

clear コマンドは、ANSIエスケープシーケンスを利用して、ターミナルの画面をクリアしている。

たとえば、clear コマンドを実行した結果をファイルにリダイレクトすると、ターミナルはクリアされない。

clear > clear.txt

代わりに、以下のような文字列がclear.txtへ書き込まれる。

 [H [2J [3J

この文字列は、ターミナルの画面をクリアするための特殊な文字列(ANSIエスケープシーケンス)である。ターミナルは、この文字列を「画面をクリアする指示」として解釈し、画面をクリアする。

上記で四角になってしまっている部分は、hexdumpコマンド1で確認できる。

$ clear | hexdump -c
0000000 033   [   H 033   [   2   J 033   [   3   J
000000b

つまり、clearコマンドは、ターミナルの画面をクリアするための特殊な文字列"\033[H\033[2J\033[3J"をターミナルへ出力している。


  1. hexdumpは、バイナリファイルを16進数で表示するコマンドである。-cオプションを指定することで、ASCII文字として表示できる。 ↩︎

Licensed under CC BY-NC-SA 4.0
最終更新 9月 01, 2024
Hugo で構築されています。
テーマ StackJimmy によって設計されています。