質問

を使用して clear 端末のコマンドは、ユーザーが画面がクリアされていると思わせるだけで愚かです...マウスを使用してスクロールするとき、以前のコマンドから出力を見ることができます。これは、あなたがテキストの津波にdrれているとき、人生を困難にします。

インターネット上で見つけることができるさまざまなソリューション(エスケープコードなど)は、Clear Commandがすでに行っていることのバリエーションにすぎません。

では、Linuxの端末の内容を実際にどのようにクリアしますか?

役に立ちましたか?

解決

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

printf "\033c"

はい、それはバッシュプロンプトの「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"'

スクロールバッククリアリングコマンドを取得しました ここ.

他のヒント

試す reset. 。端子画面をクリアしますが、以前のコマンドは矢印またはあなたが持っているキーバインディングを介してアクセスできます。

tput reset

それはトリックをします!

私が読んだ答えはどれもPuttyで働いていなかったので、コメントを見つけました この記事:

接続の設定では、「ウィンドウ - >動作」の下で、「[システム]メニューがAlt Aloneに表示される[システム]メニューが表示されます。次に、Ctrl+L、Alt、L(それは小文字L)が画面をスクロールし、スクロールバックバッファーをクリアします。

(私はUbuntuサーバーに接続しているため、OPに関連していますが、サーバーが何を実行していても明らかに関連性があります。)

次のリンクでは、そのエイリアスを永続的にする方法を説明しているため、入力し続ける必要はありません。

https://askubuntu.com/questions/17536/how-do-i-create-a-permanent bash-alias

これらは、そのリンクで詳述されている手順です。

  1. vim〜/.bashrcまたはgedit〜/.bashrcまたはあなたが好きなテキストエディター
  2. エイリアスcls = 'printf " 033c"'をファイルの下部に置く
  3. 保存して終了
  4. . 。 〜/.bashrc(そして、はい、間にスペースがあるはずです。
  5. さあ、すべてがうまくいくかどうかを確認してください!

私はこの情報を渡すだけでこの情報を信用していません。

私のお気に入りの人間に優しいコマンドは次のとおりです。

reset

XtermおよびVT100でテストされました。また、異常なプログラム終了後に役立ちます。コマンドバッファーを保持するため、Up-Arrowは以前のコマンドを循環します。

乾杯:d

KDEとUbuntu 12.04 LTSと「Konsole」端末では、投稿された回答作業はありません。ただし、デフォルトのキーボードショートカットCTRL+Shift+Xを押すと機能します!ソース:

https://bugs.kde.org/show_bug.cgi?id=288913

新しいラインの印刷を使用するソリューションはあまりサポートされていないことを知っていますが、他のすべてが失敗した場合、なぜですか?特に、他の誰かが画面を見ることができる環境で動作している場合、キーログができない場合。潜在的な解決策の1つは、次のエイリアスです。

alias c="printf '\r\n%.0s' {1..50}"

次に、画面の現在の内容を「クリア」する(またはむしろ、それらを非表示にします)、タイプするだけです c+Enter ターミナルで。

それを追加するためだけに tmux スクロールバッファーはクリアされません clear, reset また printf. 。必要がある :clear-history. 。見る リンク.

echo -e "\e[3J"

これはLinuxマシンで機能します

このアプリをコンパイルします。

#include <iostream>
#include <cstring>

int main()
{
  char str[1000];
  memset(str, '\n', 999);
  str[999] = 0;
  std::cout << str << std::endl;
  return 0;
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top