linux与unix系统中的history命令,也是linux常用命令了,它可以查询以前执行的命令历史记录,不过此命令显示结果中并不包含时间项目,因此也就看不到命令的执行时间, 如何让history记录时间?
解决方法:
编辑/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文件中,就有记录命令执行的时间了。
[root@vz ~]# cat ~/.bash_history
#1184649982 touch 3 #1184649984 exit #1184650148 history [root@vz ~]#
这个时间叫做unix time,是从1970年1月1日临时起,到现在一共经过了多少秒
为了按照人类的年月日方式来显示时间,执行history命令来查看,就可以了,例如:
[root@vz ~]# history | more
1 20070717-132935: ll 2 20070717-132935: w 3 20070717-132935: rm -rf * 4 20070717-132935: ll 5 20070717-132935: w 6 20070717-132935: cat /etc/redhat-release 7 20070717-132935: rpm -ivh expect-5.42.1-1.i386.rpm 8 20070717-132935: ll 9 20070717-132935: vi /etc/sysconfig/i18n 10 20070717-132935: ll 11 20070717-132935: rpm -q expect [root@vz ~]# 如此,便可以查看在什么时间执行了哪些linux命令了。 注意:本方法必须在服务器刚刚新安装好时候,就设置这个参数。 注意,此命令功能的修改,只适用修改后的history命令输出结果,之前命令历史记录同样不显示时间。 (责任编辑:IT) |