linux 系统时间是在哪里记录的,如何让linux的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: "

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 ~]#

这样即可查看到在什么时间执行了什么命令。

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值