blog

Linuxで画面を完全に消すには?

インターネット上には他にも画面をクリアする方法がたくさんありますが、基本的にはclearコマンドやCtrl+Lのショートカットを使ってターミナルの画面をクリアするのが一般的です。では、本当に画面を消す...

Sep 4, 2016 · 1 min. read
シェア

Linuxユーザー、特にUbuntuやCentOSのユーザーは、基本的にclearコマンドやCtrl+Lショートカットを使ってターミナルの画面を消すことに慣れています。しかし、これは本当に画面をクリアしているわけではなく、画面がクリアされているように錯覚しているだけです。しかし、マウスで上にスクロールすると、コマンド操作によって残された出力をまだ見ることができます。これは、大量のテキストを扱うときに問題を引き起こす可能性があります。

画面をクリアする方法はインターネット上にたくさんありますが、基本的にはクリアコマンドのバリエーションです。では、どうすれば本当に画面をクリアできるのでしょうか?

偶然にも、私は最近、この問題を解決するコマンドを発見しました。

printf " \033c" はまさに必要なコマンドです。これは文字通り端末の画面をクリアするもので、DOSのCMD.EXEが提供するCLSエフェクトと同じように機能します。

しかし、このコマンドは一体何をするのでしょうか?どのように機能するのでしょうか?

\033 == == 27 == ESC

つまり、コマンドは<ESC>cとなり、これはVT-XXXの「フルリセット」を表すエスケープコードです。printfはbashに組み込まれているコマンドで、組み込みコマンドは他の実行ファイルよりも優先順位が高くなります。

resetという別のコマンドもあり、これも端末画面をクリアしますが、上下キーでコマンドの履歴を見ることができます。このコマンドの欠点は、ESC cコマンドを送らないためか、実行に少し時間がかかることですが、互換性では明らかにこのコマンドの方が上です。

resetコマンドは、端末のコントロールの位置がずれているときに非常に便利です。入力した文字がカーソルのあった場所に表示されないという状況に遭遇したことはありませんか?enterを押しても、新しいプロンプトは新しい行には表示されず、古い行の前に表示されます。resetはこの問題を解決します。このコマンドはCYGWINでも使えます。

Read next

Win8 VS WinXP システムセキュリティ性能競争

2001年にWindows XPがリリースされて以来、このシステムは13年間人々のコンピュータデスクトップを支配してきました。多くのユーザーがいまだにXPに強い思い入れを持っており、中にはコンピュータを使い始めた当初からXPを使っていたユーザーもいるにもかかわらず、少なくともセキュリティに関しては、新たな配慮をしないわけにはいきません。

Aug 29, 2016 · 2 min read