作業の痕跡を探るにはhistory
コマンドが使えます。でも更に、このコマンドを実行したのは何時頃だっけ?ということを調べたくなったりします。例えば何かトラブルをやらかしてしまったときの原因調査の時とかね。ですがデフォルトでは実行時刻は分かりません。
そんな時に困ることが無いよう、普段から以下の設定をしておけばhistoryで各コマンドの実行時刻が表示出来るようになります。環境変数にexportせず単に変数をセットしておくだけでOKです。
~/.bashrc
# history にコマンド実行時刻を記録する
HISTTIMEFORMAT='%Y-%m-%dT%T%z '
これがセットされていると ~/.bash_history ファイルには以下のようにコマンド毎の実行時刻がUNIXタイムでメモが残されて…
~/.bash_history
#1364542436
history
#1364542451
ls -al
#1364542454
ps axf
#1364542456
pwd
#1364542458
history
更にhistory
を実行時にはその時間がHISTTIMEFORMAT
で指定したフォーマットに従って以下のように表示してくれるようになります。
$ history
1796 2013-03-29T16:34:11+0900 ls -al
1797 2013-03-29T16:34:14+0900 ps axf
1798 2013-03-29T16:34:16+0900 pwd
1799 2013-03-29T16:34:18+0900 history
便利なので僕は新環境をセットアップしたら常に設定するようにしてます。
この設定が生きるのはbashのバージョン3.0からですが、変数設定するだけなので古いbashで実行しても特に害は無いので安心です。