私はLinux Mint 17.1 Rebeccaを約2日間使用し、誤って端末にパスワードを入力しましたが、以前に入力したコマンドの履歴リストにパスワードが表示されます。
端末履歴を完全に消去したいです。ターミナルで次のコマンドを試しましたが、記録が永遠に消去されると思いましたが、そうではありません。
history -c
reset
tput reset
上記のコマンドは、端末で履歴を「消去しますが」終了し、新しい履歴を開くと、以前の履歴がすべて残ります。再リストします。私の記録を完全にクリアしてから使い続けたいです。
端末履歴を完全に消去して再開するにはどうすればよいですか?
注:履歴を保存せずに端末を終了したくありません。この場合は、記録を完全に消去してください。
ベストアンサー1
reset
またはtput reset
単に端末で作業してください。履歴は完全にシェルによって管理され、影響を受けません。
history -c
現在のシェルから履歴を消去します。パスワードを入力してシェルを終了していない場合、または履歴を明示的に保存していない場合はこれで十分です(ただし少し過剰です)。
Bashを終了すると、デフォルトでは.bash_history
ホームディレクトリにある履歴ファイルに履歴が保存されます。より正確には、現在のセッション中に作成された履歴レコードがファイルに追加されます。既存のアイテムは影響を受けません。現在のシェルの履歴で履歴ファイルを上書きするには、を実行しますhistory -w
。
.bash_history
すべての履歴エントリを削除する代わりに、エディタで開いたままにしたくない行を削除できます。 Bashでもこれを行うことができますが、history
show allエントリを使用してからhistory -d
不要なエントリを削除して最後に保存すると、あまり便利ではありませんhistory -w
。
パスワードを読み取った複数のbashインスタンスが実行されている場合、各インスタンスはパスワードを再保存できます。最後に、履歴ファイルからパスワードを消去する前に、実行中のすべてのシェルインスタンスでパスワードが消去されていることを確認してください。
履歴ファイルを編集した後も、以前のバージョンのファイルからディスクにパスワードが残っている可能性があります。もはやファイルシステムを介して検索することはできませんが、ディスクに直接アクセスしてまだ見つけることができます(たぶん簡単ではありません)。このパスワードを他の場所で使用し、ディスクが盗まれたり、誰かがディスクにアクセスしたりすると、問題が発生する可能性があります。