history コマンドの履歴を削除する方法

最終更新:2023-09-10 by Joe

コマンド履歴を表示する 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ファイルを直接編集したほうが、履歴を一覧しながら編集できるから、便利だね。

そうじゃな。自分の好きなようにするのがよいじゃろう。