ターミナル エミュレーター画面をクリアするだけでなく、クリアした内容を見るために上にスクロールできないようにする、Ubuntu/Linux 用の cls タイプのコマンドを作成するにはどうすればよいでしょうか。このclear
コマンドはテキストを削除するわけではないことに注意してください。テキストを上にスクロールして見えないようにするだけです。また、これをシステム全体のコマンドとして設定する方法に関する情報があればcls
助かります (特に、Windows ユーザーが Linux に移行する場合に役立ちます)。
答え1
スクリプトを作成し、 という名前を付けてcls
実行可能ファイル ( chmod +x cls
) を作成し、次の内容を指定します。
#!/bin/bash
printf "\033c"
パスに追加する前に、cls
すでに呼び出されているプログラムがないことを確認する必要があります。
update-alternatives --config cls
次に、システム全体のパスに追加するには、スクリプトを次のような安全なシステムの場所に置き、/opt/bin/cls
を使用してupdate-alternatives
すべてのユーザーのパスに追加します。
sudo update-alternatives --install /usr/bin/cls cls /opt/bin/cls 0
スクリプトを~/bin
(チルダはホーム ディレクトリを表します) に配置して、単一ユーザーのパスに含めることができます (ディレクトリを作成する必要がある場合はbin
、パスに含める前にコンピューターを再起動する必要があります)。この場合、update-alternatives で何もする必要はありません。
答え2
すでに@user2962794が述べたように、端末をクリアするコマンドはエスケープコードを発行します\033c
。これは、端末を初期状態にリセットするためのVT-100 ANSIエスケープシーケンスです(RIS、参照)。ここ) であり、ASCII「エスケープ」文字 ( \033
) の後にc
.が続きます。
したがって、端末をクリアするには、次のいずれかが必要です。
printf printf "\033c"
または
echo -ne "\033c"
簡単にするために、エイリアスを作成することができます。次の行を に追加します~/.bashrc
:
alias cls="printf '\033c'"
ここで、新しいターミナルを開いて を実行するとcls
クリアされます。 という名前のコマンドがすでに存在する場合はcls
、これがそのコマンドに取って代わることに注意してください。これを回避するには、一意の名前を選択してください。