`clear`、`clear_console`、`tputclear`などの違いは何ですか?

`clear`、`clear_console`、`tputclear`などの違いは何ですか?

基本bash_logoutでこれを見つけました。

if [ "$SHLVL" = 1 ]; then
    [ -x /usr/bin/clear_console ] && /usr/bin/clear_console -q
fi

なぜ直接使用されないのか疑問に思いますclear。インターネット検索では不明ですが、示しtput clearましたtput reset

画面を消去するさまざまなオプションの違いは何ですか?

ベストアンサー1

私のDebianシステムでは、/usr/bin/clearパッケージ/usr/bin/tputの一部ncurses-binです。/usr/bin/clear_consolebash

.bash_logoutパッケージがデフォルトでインストールされていると仮定する必要があるのはなぜですかncurses-bin

また、Linux仮想端末(シリアルまたは擬似ttyではない)で実行している場合、スクロールバックバッファも消去されます(/ terminfoエスケープをclear_console(1)送信することに加えて)。clearcl

前後に移動して転送し、別のvt [1]に切り替えます。\e[3J 「リフレッシュロールバック」脱出する。

最新のシステムではこのエスケープclearも送信されます(ただし、Centos 7やDebian 9など、まだ使用されている多くのディストリビューションでは送信されません。後者では環境変数をに設定する必要があります。これはデフォルトではありません)。tput clear\e[3JTERMlinux3.0

ソースの表示clear_console ここ

[1]敗北する可能性がありますvgacon.scrollback_persistent=1カーネルがVGACON_SOFT_SCROLLBACK「システムRAMでロールバックバッファを有効にする」オプションを使用してコンパイルされている場合は、パラメータを実行します。

おすすめ記事