web-dev-qa-db-ja.com

本当に端末をクリアするには?

clearコマンドを発行するか、 Ctrl + L 現在のUbuntuターミナルをクリアしますが、これは前の出力を上にシフトし、マウススクロールまたは PgUP そして PgDown キーは、前のコマンドの出力が終了し、現在のコマンドの出力が開始する場所を区別するのが困難です。

本当にターミナルをクリアして、前のコマンド結果が表示されないようにする方法はありますか?

379
Stann

はい、あなたが探しているコマンドは

reset

clearとは対照的に、または Ctrl+Lresetは、画面をクリアするだけでなく、実際に terminal を再初期化します。ただし、シェル(bash)は再インスタンス化されません。つまり、bashのstateは以前と同じであり、単に画面をクリアするだけのようです。

@Wallacolooがコメントで言及しているように、このコマンドは同じことをより迅速に行う必要があります。

tput reset

他の回答から:

449
Stefano Palazzo

私はしばらくこれを探していましたが、これを投稿した天才を見つけました:

clear && printf '\e[3J'

画面バッファー全体をクリアし、非常にきれいにします。 OS Xで動作し、ほとんどの* nix端末で正常に動作すると信じています。

不思議なことに、この部分'\e[3J'はターミナルエスケープコマンドです。

96
Goran

編集→キーボードショートカットに移動して、gnome-terminalにショートカットを割り当てることもできます。私が使うShift+Ctrl+Alt+C

reset and clear shortcut

44
towolf

次のコマンドを実行します:

reset

これは、新しいターミナルを起動するのと同じ効果があります。

18
dv3500ea

stackoverflow からの回答をクロス投稿します。

次のコマンドを使用して、単に新しい行を追加するのではなく、画面をクリアします...

printf "\033c"

はい、それはbashプロンプトの「printf」です。

ただし、おそらくエイリアスを定義する必要があります...

alias cls='printf "\033c"'

説明

\033 == \x1B == 27 == ESC

したがって、これは<ESC>cになります。これは、端末をリセットするためのVT100エスケープコードです。 ここ は、ターミナルエスケープコードに関する詳細情報です。

編集

他のいくつかの方法があります...

printf "\ec" #\e is ESC in bash
echo -en "\ec" #thanks @Jonathon Reinhart.
# -e    Enable interpretation of of backslash escapes
# -n    Do not output a new line

KDE

上記はKDEコンソール(Konsoleと呼ばれる)では機能しませんが、希望はあります!次の一連のコマンドを使用して、画面とスクロールバックバッファーをクリアします...

clear && echo -en "\e[3J"

または、KDEで次のエイリアスを使用することもできます...

alias cls='clear && echo -en "\e[3J"'

here からスクロールバッククリアコマンドを取得しました。

17
Autodidact

私のお気に入りはprintf "\ec"です。これは、printf "\033c"またはprintf "\x1bc"にもなります。それは奇跡的に端末出力用の画面とバッファをクリアするANSIエスケープシーケンスです(私が働いたほとんどの標準的な端末では、Ubuntuのようなgnome-terminal、terminator、xtermなどで動作することを知っています) Linuxes)

私はこれがLinux MintとUbuntu 14.04で機能することを知っているので、なぜ人々がclear && echo -ne "\033cのようなものを追加し、前もって付けているのか分かりません。 printf "\ec"は常に私のために働いてきました。

さらに、私の.bashrcには、次のようなバインディングがあります。

bind -x '"\C-t": printf "\ec"';

今、私は押します ctrlt ずっと。

8
dylnmc

Konsoleを使用している場合、たとえばresetでも最初の行を超えてスクロールすることはできません。その場合、使用している特定の端末の機能を使用する必要があります。 Konsoleの場合、Edit > Clear Historyです。

5
UncleZeiv

Kubuntuでは次のことが非常に成功していることがわかりました。

alias clc="echo -en '\033c\033[3J'"

clsを使用してWindowsの伝統を守り、Matlabバージョンclcまたは独自のバージョンを使用できます。幸運を!

3
Charles Bell

@ Hibou57回答の別の代替案:

# The Octal Way
alias clear="echo -e '\033c\c'"

OR

# The Hex Way
alias clear="echo -e '\x1b\c'"

基本的にこれはまったく同じ効果を持ち、^[文字(端末をクリアします)を出力し、末尾の改行を出力しません。

2
TwystO

resetの代わりに、echo -e "\033c"を実行するか、.bashrcalias cls="echo -ne '\033c'"のようなものを含めることができます

UNIX/Linux StackExchangeには、次のスレッドがあります。 端末を完全にクリアするには?(unix.stackexchange.com) 、およびSuperUser: キーボードショートカットを使用して端末をクリアClear(superuser。 com)

2
Hibou57

薬あけまたはコンソールを使用している場合は、試してください Ctrl+Shift+K

ソース: https://bugs.kde.org/show_bug.cgi?id=309008

1
Wojciech Sidor