如何让history显示时间

linux和unix上都提供了history命令,可以查询以前执行的命令历史记录

但是,这个记录并不包含时间项目

因此只能看到命令,但是不知道什么时间执行的

如何让history记录时间呢?  

 

解决方案 

注意:本方法只对bash-3.0以上版本有效

执行rpm -q bash即可显示bash的版本

对于常见的linux AS4、AS5,都是有效的

 

---------------------------------------------

 

编辑/etc/bashrc文件,加入如下三行:

HISTFILESIZE=2000

HISTSIZE=2000

HISTTIMEFORMAT="%Y%m%d-%H%M%S: " 或者HISTTIMEFORMAT="%Y%m%d %T "

export HISTTIMEFORMAT

 

 

 

 

 

或者一句话:

 

echo "HISTFILESIZE=2000" >> /etc/bashrc && echo "HISTSIZE=2000" >> /etc/bashrc && echo 'HISTTIMEFORMAT="%Y%m%d %T "'>> /etc/bashrc && export HISTTIMEFORMAT

 

 

 

保存后退出,关闭当前shell,并重新登录

这个时候,在~/.bash_history文件中,就有记录命令执行的时间了

 

用cat命令显示这个文件,但是却会看到这个时间不是年月日显示的

而是按照unix time来显示:

 

[root@vz ~]# cat ~/.bash_history

#1184649982

touch 3

#1184649984

exit

#1184650148

history