端末でclear
コマンドを使用しても、画面がクリアされたと考えるようにユーザーを欺くだけです...マウスを使用してスクロールすると、前のコマンドからの出力を見ることができます。あなたがテキストの津波に溺れているとき、これは人生を困難にします。
インターネットで見つけることができるさまざまな解決策(エスケープコードなど)は、clearコマンドがすでに実行していることの変形にすぎません。
では、どうやってLinuxの端末の内容を実際にクリアするのですか。
単に新しい行を追加するのではなく、次のコマンドを使用して画面をクリアします。
printf "\033c"
はい、それはbashプロンプトの 'printf'です。
あなたはおそらくエイリアスを定義したいと思うでしょう...
alias cls='printf "\033c"'
\033 == \x1B == 27 == ESC
そのため、これは端末をリセットするためのVT100エスケープコードである<ESC>c
になります。 ここで は端末エスケープコードに関するさらに詳しい情報です。
これを行ういくつかの他の方法はここにあります...
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コンソール(Konsoleと呼ばれる)では機能しませんが、希望があります。以下の一連のコマンドを使用して、画面とスクロールバックバッファをクリアします。
clear && echo -en "\e[3J"
あるいは、おそらくKDE上で次のエイリアスを使用してください。
alias cls='clear && echo -en "\e[3J"'
ここで からスクロールバッククリアコマンドを取得しました 。
reset
を試してください。これは端末画面をクリアしますが、前のコマンドは矢印またはどちらのキー割り当てを使ってもアクセスできます。
tput reset
これでうまくいくでしょう。
私が読んだ答えはどれもPuTTYではうまくいきませんでしたので、私はこの記事 についてのコメントを見つけました :
接続の設定の[ウィンドウ - >動作]の下に[システムメニューがALTのみに表示される]という設定があります。 CTRL + L、ALT、l(これはLの小文字です)は画面をスクロールしてからスクロールバックバッファをクリアします。
(私はUbuntuサーバーに接続しているのでOPには関係がありますが、あなたのサーバーが何を実行していても関係なく関係するようです)
次のリンクは、そのエイリアスを永続的にする方法を説明しているので、入力し続ける必要はありません。
https://askubuntu.com/questions/17536/how-do-i-create-a-permanent-bash-alias
これらはそのリンクで詳述されたステップです。
私はそれを伝えるだけでこの情報を信用しません。
これに対する私のお気に入りの人間に優しい命令は以下のとおりです。
reset
XtermとVT100でテスト済み。プログラムの異常終了後にも役立ちます。コマンドバッファを保持するので、上向きの矢印は前のコマンドを順番に表示します。
歓声:D
KDEとUbuntu 12.04 LTSと "Konsole"端末では、投稿された答えはどれもうまくいきません。ただし、デフォルトのキーボードショートカットCTRL + Shift + Xを押しても機能します。ソース:
改行の印刷を使用するソリューションはあまりサポートされていないことを私は知っていますが、それ以外のすべてが失敗した場合、どうしますか?特に、誰かが画面を見ることはできても、まだキーログインできないような環境で操作している場合は特にそうです。そのための1つの解決策は、次のようなエイリアスです。
alias c="printf '\r\n%.0s' {1..50}"
次に、画面の現在の内容を「クリア」する(または非表示にする)には、端末でc+Enter
を入力するだけです。
そのtmux
スクロールバッファを追加するだけでは、clear
、reset
、またはprintf
ではクリアされません。あなたは:clear-history
する必要があります。 リンク を参照してください。