■Bash Historyについて
Linuxでは標準でシェルにBashが使用されます。補完機能もあり非常に便利なシェルですが、Linuxを操作していて時々の頻度ですが過去にどんなコマンドを実行したか確認したいときがあります。履歴は保存されているので表示することは可能なのですが、それがいつ実行されたものなのかはデフォルトで表示されずカスタマイズが必要となります。
デフォルトでは実行日時は表示されず、保存件数は1000件となっております。これを実行日時を表示し、なおかつ保存件数を10000件に拡張してみます。以下のファイルの最後尾に追記します。
# vi /etc/profile HISTSIZE=10000 HISTFILESIZE=10000 HISTTIMEFORMAT='%Y/%m/%d %H:%M:%S ' HISTIGNORE=ls:history |
HISTSIZEはhistoryコマンドの表示件数、HISTFILESIZEは.bash_historyファイルに保存される件数です。デフォルトで1000件なのを10000件に拡張しています。また、HISTTIMEFORMATで日時表示を指定し、よく使用するlsやhistoryコマンドなどは履歴に含まれないようHISTIGNOREで指定しています。
この設定を有効にするために以下のコマンドを実行します。
# source /etc/profile |
この状態でhistoryコマンドを実行すると以下のように日時つきで表示されます。
# history 1 2015/07/29 09:23:00 history 2 2015/07/29 09:23:05 more .bash_history |
.bash_historyには以下のように保存されます。
# more .bash_history #1438128786 history #1438128799 more .bash_history |
#の後ろについている10桁の数字はUNIXタイムスタンプで、パッと見ただけではいつなのかわかるものではありません。そこで以下のサイトのようにこれを通常の日時に変換してくれるサイトがあります。
ちなみにhistoryの履歴をクリアする場合は-cオプションをつけてhistoryを実施します。
# history -c |