ターミナルをクリアするためにターミナルで使用する\! clear
、、などのコマンドがあることは知っています。system clear
ctrl + l
しかし、クリアするとギャップが残るだけで、以前の結果はすべて上部に残り、スクロールすると以前のコマンドの結果が表示されることに気づきました。
私が疑問に思っているのは、新しいターミナルを開いて、ターミナルを上にスクロールしたときに現在のアクションの結果のみが表示されるようにするなど、ターミナルを完全にクリーンアップするコマンドがあるかどうかです。
答え1
「\! reset」コマンドを使用します。clear や Ctrl+L とは異なり、reset は画面をクリアするだけでなく、端末を完全に再初期化します。ただし、シェル (bash) は再インスタンス化されません。つまり、bash の状態は、画面をクリアしただけの場合と同じように、以前と同じになります。
答え2
を使用できますtput reset
。
さらにreset
、tput reset
次のシェル スクリプトを使用することもできます。
#!/bin/sh
echo -e \\033c
これにより、制御文字 Esc-C がコンソールに送信され、端末がリセットされます。
Google Keywords: Linux Console Control Sequences
man console_codes はこう言います:
ESC c シーケンスは端末のリセットを引き起こします。これは画面が乱れている場合に必要なことです。よく推奨される「echo ^V^O」は G0 を現在の状態にするだけですが、G0 がテーブル a) を指しているという保証はありません。一部のディストリビューションには、単に「echo ^[c」を実行するプログラム reset(1) があります。コンソールの terminfo エントリが正しい場合 (エントリ rs1=\Ec がある場合)、「tput reset」も機能します。
参照:https://unix.stackexchange.com/questions/26975/how-to-clear-terminal-completely