コマンド履歴を表示する history の履歴を削除する方法についてです。
目次
history コマンドの履歴を削除する方法
コマンド履歴を表示する history の履歴に、意図せず失敗コマンドや、公開してはいけない情報をペーストして、実行してしまうことがあります。
公開サーバーなど、複数のユーザとの共有環境であれば、そんな履歴は、キレイに削除しておく必要があります。
[方法1] オプション「-d」の利用する
bash のコマンド、history の履歴を削除するには、-d オプションを利用します。(※zsh の場合はこのオプションは無効ですので、ご注意下さい)
# history 履歴の出力
$ history
995 dig example.com -t mx
996 rm test.jpg
997 cd html/img
998 cd ..
999 git diff
1000 git commit .
# 履歴番号を指定して削除
$ history -d 1000
「history -d 」実行コマンド自体が履歴に残る?
-d コマンドで削除を実行すると、そのコマンド自体の履歴が最後に残ってしまいます。
# 削除後に、改めて history 履歴の出力
$ history
995 dig example.com -t mx
996 rm test.jpg
997 cd html/img
998 cd ..
999 git diff
1000 history -d 1000 # <-- 削除コマンドが残ってしまった・・
もしこれを避けたい場合は、下記「方法2」の直接履歴の記録されたファイルを編集するのが簡単です。
方法2history 履歴ファイルから直接削除
履歴ファイルは、~/.bash_history(もしくは、~/zsh_history など)シェル固有のファイルで保存されています。
# 履歴ファイルを直接編集
$ vim ~/.bash_history
そうじゃな。自分の好きなようにするのがよいじゃろう。
historyファイルを直接編集したほうが、履歴を一覧しながら編集できるから、便利だね。