history コマンドに日時も記録する

以前、ターミナルのプロンプト PS1\D{%F %T} という書式を加えて、現在日時を画面上に表示するようにした。コレはターミナルの実行結果をまるごとコピペすれば作業日時付きの証跡になるので有用だと思っている。

しかし、プロンプト込みで記録を取らなかった場合、あるコマンドがいつ実行されたのかが分からなくなる。history コマンドを叩いただけでは、「どの順番に何が実行されたか」は分かるが、「いつ」という情報がないのだ。

history コマンドの実行日時を記録する方法はないか…と思って調べたところ、ちゃんとあった。

以下のコマンドを ~/.bash_profile~/.bashrc あたりで実行しておくと、それ以降に実行されたコマンドの実行日時が記録されるようになる。

export HISTTIMEFORMAT='%F %T '

コレを設定してから、いくつかコマンドを実行してみて、history コマンドを実行してみよう。実行日時が併記されるはずだ。

ただし、「HISTTIMEFORMAT」を設定する前のコマンドにも日時が表示されていますが、これは正しくありませんので注意してください

ということで、HISTTIMEFORMAT を設定する以前のコマンドに表示されている日時は正しくないので、その情報は参考にしないように。