如何让linux的history命令显示时间记录

如何让linux的history命令显示时间记录

linux和unix上都提供了history命令,可以查询以前执行的命令历史记录但是,这个记录并不包含时间项目因此只能看到命令,但是不知道什么时间执行的。如何让history记录时间呢?

其实要想让history命令输出带有时期的格式,只需要设置HISTTIMEFORMAT环境变量就可以了,其时间格式描述和date命令是一致的。

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

查看bash的版本

# rpm -q bash

或者

# bash –version

方法一

# export HISTTIMEFORMAT="%F %T "

# history

[root@localhost tools]# history

1 2007-03-27 11:18:40 rpm -qf /usr/sbin/lvscan

2 2007-03-27 11:18:40 sl

3 2007-03-27 11:18:40 ls

4 2007-03-27 11:18:40 df

5 2007-03-27 11:18:40 df -h

6 2007-03-27 11:18:40 cd /tmp

当你退出系统的时候下次再登录时history就会恢复默认设置,这只是一种临时显示的方法。如果你想让history一直显示时间,那就的使用下面的方法。

方法二

编辑/etc/bashrc文件,加入如下几行:
HISTTIMEFORMAT="%F %T "
export HISTTIMEFORMAT

保存后退出,关闭当前shell,并重新登录,再登录时就会有时间显示history记录了。

注意:本方法必须在服务器刚刚新安装好时候,就设置这个参数。

如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录显示的时间的不对的。