回答:
を使用できます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」も機能します。
tput reset
reset
少なくともUbuntu 16.04 よりも高速です
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
allclear(){
`echo"端末とスクロールバックをクリアしています... "` `sleep 1.5`` clear; echo -e "\ 033c \ e [3J" ` }
`編集:書式設定が機能しません。誰かがこれを編集して読みやすくすることができたら、感謝します。
bash、csh、およびfish shellのF12各シェルでクリアスクリーンにマップしました。私のコマンドは、現在の行に既に入力したものを保存するため、以前のコマンドとは異なります。(注:以下の構成はすべて端末に依存していますが、ほぼすべての場所で機能することを願っています)
ファイル~/.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)キル・リング(バッシュのコピーと過去の記憶)をクリアします。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よりもはるかに簡単です)
[Ubuntu 16.04]
.bash_history 端末を閉じられると、ファイルはユーザのホームディレクトリに作成されます
便利ですが、必要に応じて削除することもできます。それでも、ターミナルの使用を終了するたびに作成されます。
以下から手動で削除できます。
ファイルブラウザ。
ターミナル:ターミナルを閉じると、新しい.bash_historyファイルが作成されることに注意してください(デフォルト構成に基づいています)。
または、必要な機能をbashrcからリンクされたファイルに保存する場合、カスタム関数を呼び出すことができます。コードをそこに配置したい場合はbashrc自体を編集できますが、次の例は別のファイルにあります
正直なところ、これは私には役に立ちませんが、終了する前にコマンド履歴を削除したい場合
は、これを行うことができます:.bash_custom #this is my custom file
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または「カスタム」ファイルを編集するときは、ターミナルを再起動する必要があることに注意してください。
Fedora 30では、$ HOME / .bash_historyファイルを削除することで履歴を削除します。キーボードを使用して端末履歴ファイルをクリアする最も簡単な方法は次のとおりです。
nautilus
して押し、Enter(GNOME)ファイルアプリケーション(以前はNautilusと呼ばれていた)を開きます。.bash_history
(ウィンドウを開いた直後に入力した場合、検索バーに表示されます。それ以外の場合は、検索バーにCtrl+ でアクセスできますL)。cat /dev/null > ~/.bash_history && history -c && exit
history -c
、2つの以前の回答で提示されており、質問に対する正しい回答ではないため削除されました。ターミナルウィンドウを閉じると、(おそらく)前のコマンドの端末のメモリを消去しますが(2)、それはだはるか OPはそれをやりたいことは明白から。…そしてPS単一のexit
コマンドがターミナルウィンドウを閉じることは保証されていません。