historyコマンドに日時を表示させる

bash 3.0から(2.05bを含んでそれより以前のはダメ)使用可能なHISTTIMEFORMATという環境変数を使うと、ヒストリに時刻も記録できる

[root@centos01 ~]#bash --version
bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"

[root@centos01 ~]#HISTTIMEFORMAT='%Y-%m-%d %T'; export HISTTIMEFORMAT
HISTTIMEFORMAT='%Y-%m-%d %T'; export HISTTIMEFORMAT
echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/#$HOME/~}"; echo -ne "\007"

[root@centos01 ~]#history
history
  1  2011-09-16 07:39:27passwd root
   2  2011-09-16 07:39:27useradd hogehoge
   3  2011-09-16 07:39:27cd /etc/passwd
   4  2011-09-16 07:39:27view /etc/passwd
   5  2011-09-16 07:39:27passwd hogehoge
   6  2011-09-16 07:39:27exit

上記の設定をしてもログオフすると消えてしまいます。ログオフしても設定が消えないようにするには、各ユーザーの「.bashrc」に設定を書き込む必要があります。

[root@centos01 ~]#vi .bashrc
#20110917
HISTTIMEFORMAT='%y-%m-%d %T'

historyの結果は、各ユーザのHOMEディレクトリの「.bash_history」というファイルに保存されています。

[root@centos01 ~]#ls -la | grep history
-rw-------  1 root  root    14611 10月 18 10:59 .bash_history    


historyに記録したくないコマンドの設定

[root@centos01 ~]#HISTIGNORE=ls:history

  • 最終更新:2011-10-19 05:10:29

このWIKIを編集するにはパスワード入力が必要です

認証パスワード