web-dev-qa-db-ja.com

Gnome端末の履歴をクリアするにはどうすればよいですか?

clearコマンドを使用する場合、または Ctrl+L 端末では、端末をクリアしますが、最後に使用したコマンドを表示するためにスクロールして戻ることができます。端末を完全にクリアする方法はありますか?

59
hpn

tput resetを使用できます。

resetおよびtput resetに加えて、次のシェルスクリプトを使用できます。

#!/bin/sh
echo -e \\033c

これにより、制御文字Esc-Cが端末にリセットされるコンソールに送信されます。

Googleキーワード:Linuxコンソール制御シーケンス

man console_codesさんのコメント:

シーケンスESC cは端末をリセットします。これは、画面がすべて文字化けしている場合に必要です。多くの場合、推奨される「エコー^ V ^ O」はG0を最新のものにするだけですが、G0がテーブルa)を指しているという保証はありません。一部のディストリビューションでは、「echo ^ [c」だけを実行するプログラムreset(1)があります。コンソールのterminfoエントリが正しい(そしてエントリrs1 =\Ecがある)場合、「tput reset」も機能します。

69
Sachin Divekar

端末設定をリセットするresetコマンドを使用できます。

15
enzotib

私はあなたがgnome端末を使用していることを知っていますが、Macを使用している(私のように)他の人のためのヒントで答えると思います。

Terminal.appまたはiTerm.appを使用している場合、Control+Lは上にスクロールしてターミナルが空白に見えますが、Cmd+Kは実際にターミナルをリセットし、スクロールバックをクリアします。

または、端末のキーボード設定を設定できる場合は、上記のようにCtrl+Kのようなものを入力してecho -e \\033cを入力できる場合があります。

14
cwd

Anthonの回答はKDE Konsoleで機能しますが、urxvtでは機能しません。 urxvtでは、数年前からリセットを使用して(他のすべてのことと同様に)スクロールバックをクリアしており、Konsoleで機能しないことに満足していませんでした。だから今Linuxのために私は新しいエイリアスを持っています:

alias allclear='clear; echo -e "\033c\e[3J"'

ただし、OS Xでは機能しません。

tput resetはどのコンテキストでも機能しませんAFAICT。

KDE Konsoleでは、 ctrl-shift-k スクロールバックをクリアします(現在のシェルプロンプトを含むため、完全に空です)。 OS XのiTermまたはAppleのターミナルでは、 cmd-shift-k スクロールバックもクリアします。この機能をurxvtに追加するには、これを〜/ .Xresourcesに追加します。

urxvt*keysym.C-S-K: command:\033c
9
ecloud

私は数年前にネットでこれを見つけて、うまくいきました。スクロール履歴なしで端末を完全にクリアします。

echo -e "\e[3J"
3
canon

[Ubuntu 16.04]

。bash_historyファイルは、ターミナルが閉じられると、ユーザーのホームディレクトリに作成されます

便利ですが、必要に応じて削除することもできます。それにもかかわらず、ターミナルの使用を終了するたびに作成されます。

次の場所から手動で削除できます。

  • ファイルブラウザ。

  • ターミナル:(デフォルトの設定に基づいて)ターミナルを閉じると、新しい.bash_historyファイルが作成されることに注意してください。

または、必要な機能をbashrcからリンクされたファイルに保存する場合は、カスタム関数を呼び出すことができます。コードをそこに配置したい場合は、bashrc自体を編集できますが、次の例は別のファイルにあります

正直なところ、これは私には役に立ちませんが、終了する前にコマンド履歴を削除したい場合は、次のようにできます。

。bash_custom#これは私のカスタムファイルです

blotout() {
    HISTSIZE=0
    rm $HOME/.bash_history
    exit
}

次に、下部にファイルの名前とパスを追加します
。bashrc#これはbashの構成ファイルです(私はそう思います)

# existent code
#...
#..

# import user customizations
source $HOME/.bash_custom

そして、それはすべてです。

しかし、-あなたが望むことを正確に行うためあなたはカスタムファイルでこの関数を必要とし、それをリンクします:

refresh() {
        tput reset
        H=HISTSIZE
        HISTSIZE=0
        HISTSIZE=H
}

または、必要に応じて.bashrcに関数を配置しますが、そのようにすると、関数の後にexportステートメントが必要になる可能性があり、ファイルが更新された場合、関数が失われる可能性があります。 D.
.bashrcまたは「カスタム」ファイルを編集するときは、ターミナルを再起動する必要があることに注意してください。

2
Federico Gallo

マッピングしました F12 次の各シェルで画面をクリアするには:bashcshおよび魚の殻。私のコマンドは、現在の行にすでに入力したものをすべて保持するため、以前のすべてのコマンドとは異なります。
(注:以下の構成はすべて端末に依存しますが、事実上どこでも機能することを願っています)

bash

ファイル_~/.inputrc_を開き、次の行を挿入します。

"\e[24~": "\C-k \C-uecho -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n\C-y\C-?"

新しいキーバインディングを使用できるようにするには、新しいターミナルを開くか、 Ctrl+X その後 Ctrl+R 現在のターミナルで.inputrcファイルをリロードします。

説明
ファイル〜/ .inputrcは、bashターミナルのキーバインディングを制御します。

ラインについて:

  1. 行の最初の部分_"\e[24~"_はキーをマップします F12
  2. _C-k_(Ctrl+X)キルリング(bashのコピーアンドペーストメモリ)をクリアします。
  3. スペースは、次のコマンドのビープ音を回避します。
  4. _C-u_(Ctrl+U)現在の行をキルリングに送信し、それを消去します。
  5. echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\nは、2つのグループ化されたコマンドを端末に送信します。これらは_;_で区切られ、_\n_で終了します。
    • _echo -ne '\\ec\\e[3J'_は画面をクリアします。
    • history -d $((HISTCMD-1))は、これらの2つのコマンドが履歴に入るのを防ぎます。
  6. _C-y_(Ctrl+Y)_C-u_コマンドで保存されたキルリングを貼り付けます。
  7. _C-?_(Ctrl+?)と同等 Backspace 上記の手順3で挿入したスペースを削除します。

参照:

csh

以下のコマンドを入力します。
_bindkey -c "^[[24~" "echo -ne '\ec\e[3J'"_
これを_.cshrc_ファイルに挿入して、すべての新しいターミナルにキーバインディングをロードすることもできます。
(はい、bashよりもはるかに簡単です)

魚の殻

以下のコマンドを入力します。
_bind -k f12 "echo -ne '\ec\e[3J'; commandline -f repaint"_
関数_fish_user_key_bindings_を編集および保存して、すべての新しいターミナルにキーバインディングをロードできます。
(はい、bashよりもはるかに簡単です)

私にとっては、CentOS 7に対してPuTTYを使用すると、clearはスクロールバックにclearコマンドのみを残しますが、clearコマンドの2つのインスタンスである「clear && clear」を同時に実行すると、スクロールバックが完全にクリアされ、スクロールバーがなくなります。やってみて。これは奇妙な解決策ですが、これらのどれも効果的にスクロールバックをクリアしませんでした。

1
Zoltan Shapiro

Fedora 30では、履歴の削除は$ HOME/.bash_historyファイルを削除することで行われます。キーボードを介して端末履歴ファイルをクリアする最も簡単な方法は、次のとおりです。

  • 押す Alt+F4 各GNOMEターミナルウィンドウを閉じ、ウィンドウを循環する Alt+Tab または Alt+Shift+Tab 必要に応じて。 (.bash_historyファイルは閉じたときに作成または更新されるため、すべてのターミナルウィンドウを閉じる必要があります。)
  • 押す Alt+F2
  • nautilusと入力して、 Enter (GNOME)ファイルアプリケーション(以前はNautilusと呼ばれていました)を開くためのキー。
  • 押す Ctrl+H 隠しファイルを表示する必要がある場合。
  • タイプ.bash_history(ウィンドウを開いた直後に入力すると検索バーに表示されます。それ以外の場合は、検索バーにアクセスできます Ctrl+L)。
  • 下矢印キーを押してファイルを選択します。これが唯一の検索結果です。
  • 押す Shift+Delete ファイルを完全に削除します。 (無修正で使用する場合 Delete キーではなく、.bash_historyファイルにごみ箱フォルダからアクセスできます)。
0
Patrick Dark

に追加 ~/.inputrc完全な清算をバインドする F12

"\e[24~":'!echo -ne \047\\0033\\0143\047\r'
0
Velkan