端末履歴を消去するには?

端末履歴を消去するには?

私は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でもこれを行うことができますが、historyshow allエントリを使用してからhistory -d不要なエントリを削除して最後に保存すると、あまり便利ではありませんhistory -w

パスワードを読み取った複数のbashインスタンスが実行されている場合、各インスタンスはパスワードを再保存できます。最後に、履歴ファイルからパスワードを消去する前に、実行中のすべてのシェルインスタンスでパスワードが消去されていることを確認してください。

履歴ファイルを編集した後も、以前のバージョンのファイルからディスクにパスワードが残っている可能性があります。もはやファイルシステムを介して検索することはできませんが、ディスクに直接アクセスしてまだ見つけることができます(たぶん簡単ではありません)。このパスワードを他の場所で使用し、ディスクが盗まれたり、誰かがディスクにアクセスしたりすると、問題が発生する可能性があります。

おすすめ記事