clear
コマンドを使用する場合、または Ctrl+L 端末では、端末をクリアしますが、最後に使用したコマンドを表示するためにスクロールして戻ることができます。端末を完全にクリアする方法はありますか?
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」も機能します。
端末設定をリセットするreset
コマンドを使用できます。
私はあなたがgnome端末を使用していることを知っていますが、Macを使用している(私のように)他の人のためのヒントで答えると思います。
Terminal.app
またはiTerm.app
を使用している場合、Control+L
は上にスクロールしてターミナルが空白に見えますが、Cmd+K
は実際にターミナルをリセットし、スクロールバックをクリアします。
または、端末のキーボード設定を設定できる場合は、上記のようにCtrl+K
のようなものを入力してecho -e \\033c
を入力できる場合があります。
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
私は数年前にネットでこれを見つけて、うまくいきました。スクロール履歴なしで端末を完全にクリアします。
echo -e "\e[3J"
[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または「カスタム」ファイルを編集するときは、ターミナルを再起動する必要があることに注意してください。
マッピングしました F12 次の各シェルで画面をクリアするには:bash、cshおよび魚の殻。私のコマンドは、現在の行にすでに入力したものをすべて保持するため、以前のすべてのコマンドとは異なります。
(注:以下の構成はすべて端末に依存しますが、事実上どこでも機能することを願っています)
ファイル_~/.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ターミナルのキーバインディングを制御します。
ラインについて:
"\e[24~"
_はキーをマップします F12。C-k
_(Ctrl+X)キルリング(bashのコピーアンドペーストメモリ)をクリアします。C-u
_(Ctrl+U)現在の行をキルリングに送信し、それを消去します。echo -ne '\\ec\\e[3J'; history -d $((HISTCMD-1))\n
は、2つのグループ化されたコマンドを端末に送信します。これらは_;
_で区切られ、_\n
_で終了します。echo -ne '\\ec\\e[3J'
_は画面をクリアします。history -d $((HISTCMD-1))
は、これらの2つのコマンドが履歴に入るのを防ぎます。C-y
_(Ctrl+Y)_C-u
_コマンドで保存されたキルリングを貼り付けます。C-?
_(Ctrl+?)と同等 Backspace 上記の手順3で挿入したスペースを削除します。参照:
以下のコマンドを入力します。
_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」を同時に実行すると、スクロールバックが完全にクリアされ、スクロールバーがなくなります。やってみて。これは奇妙な解決策ですが、これらのどれも効果的にスクロールバックをクリアしませんでした。
Fedora 30では、履歴の削除は$ HOME/.bash_historyファイルを削除することで行われます。キーボードを介して端末履歴ファイルをクリアする最も簡単な方法は、次のとおりです。
nautilus
と入力して、 Enter (GNOME)ファイルアプリケーション(以前はNautilusと呼ばれていました)を開くためのキー。.bash_history
(ウィンドウを開いた直後に入力すると検索バーに表示されます。それ以外の場合は、検索バーにアクセスできます Ctrl+L)。に追加 ~/.inputrc
完全な清算をバインドする F12:
"\e[24~":'!echo -ne \047\\0033\\0143\047\r'