Chinaunix首页 | 论坛 | 博客
  • 博客访问: 360103
  • 博文数量: 56
  • 博客积分: 1941
  • 博客等级: 上尉
  • 技术积分: 587
  • 用 户 组: 普通用户
  • 注册时间: 2010-06-11 21:50
文章分类

全部博文(56)

文章存档

2015年(1)

2014年(4)

2013年(2)

2012年(4)

2011年(8)

2010年(37)

分类: LINUX

2010-06-11 22:31:35

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: "
export HISTTIMEFORMAT
保存后退出,关闭当前shell,并重新登录
这 个时候,在~/.bash_History文件中,就有记录命令执行的时间了
用cat命令显示这个文件,但是却会看到这个时 间不是年月日显示的
而是按照Unix time来显示:
[root@vz ~]# cat ~/.bash_History
#1184649982
touch 3
#1184649984
exit
#1184650148
History
[root@vz ~]#
这个时间叫做Unix time,是从1970年1月1日临时起,到现在一共经过了多少秒
因为1969年是Unix系统诞生,因此1970年1月1 日被规定为Unix系统诞生的时间的初始
Linux系统因为和Unix系统的相似性,也完全采用这种方式来记录时间
为了按照人类的年月日方式来显示时间,执行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 ~]#
这样即可查看到在什么时间执行了什么命令。
注意:本方法必须在服务器刚刚新安装好时候,就设置这个参数。
如果是已经运行了很久的服务器才添加这个参数,则以前的那些命令历史记录是不显示时间的。
阅读(732) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~