誤ってコマンドラインにパスワードを入力して、Bashシェルの履歴を消去する必要があります。これは簡単ですecho "" > ~/.bash_history
。
.bash_logout
もし備えて私のものも同じように追加しました。ところで、ログアウト/ログイン後に履歴を確認してみると、最後に入力した命令が履歴ファイルに残ります。より正確には、最後に入力したコマンドとexit
ログアウトしたときのコマンドの2つがあります。
ログアウト時にクリアできるように、Bashにコマンド履歴をファイルにフラッシュさせるにはどうすればよいですか?
ベストアンサー1
Bashは、終了するか明示的に呼び出すまで履歴ファイルに書き込みを書き込みませんhistory -w
。したがって、現在のシェルの記録にパスワードを追加した場合は、まだ記録されておらず、.bash_history
メモリに残っているだけです。実行してfc -l
最近のコマンドのリストを確認し、history -d
エントリを削除できます。
$エコメカジキ コウノトリ ああ、それは私のパスワードです! $fc -l -2 1234話 1235 エコセイル $履歴-d 1235 $fc -l -3 1234話 1235 1236 歴史-d 1236
すでに履歴ファイルを作成している場合(たとえば、history -w
デバッグPROMPT_COMMAND
トラップがある場合)、それを実行して編集します.bash_history
。
現在のシェルの履歴を完全に忘れるには、設定を解除し、HISTFILE
シェルが終了するまで設定されていないことを確認してください。現在までの記録を忘れて録音を開始したい場合は、これを呼び出すことができますhistory -c
。最後の3つの履歴項目を除くすべての項目を削除するには、その項目を設定してからHISTFILE=3
(別のコマンドラインから)再び通常の値に設定します。