history命令使用

history命令介绍:

    Linux系统会保存用户所操作的命令,history命令就是用来查看这些曾经的命令的。

history命令有很多用法,可以参考:

usage: history [-c] [-d offset] [n] or history -awrn [filename] or history -ps arg [arg...]
  

这里要讨论的情况是这样的:

    在一个多用户的系统上,系统的关键文件突然被删除掉了,而你要去查找这个命令是谁(哪个用户)发出来的。这个时候,你就十分需要history这个命令了。(当然,还需要配合last来查找用户的登录情况,这里不讨论)

默认的history命令输出是这样的:

扫描二维码关注公众号,回复: 1336864 查看本文章
[root@CentOS ~]# history

很明显,上面没有我们想要的信息,因为它不能显示每个命令是什么时间执行的。

所以,我们需要修改它的输出格式,

也就是修改 HISTTIMEFORMAT 这个参数的值。

在命令行下输入下面的命令:

[root@CentOS ~]# export HISTTIMEFORMAT='%F %T  '

再输入 history 命令来查看,会出现下面的结果:


我们需要的时间参数是加上去了,可是很明显它不对,怎么可能都是22:15:16执行的!

所以修改 HISTTIMEFORMAT  这个参数的Bug就在这里,他不能对改变HISTTIMEFORMAT参数以前的命令显示正确的执行时间。

他只能保存修改HISTIMEFORMAT值之后所保存的命令执行的时间。

为了使我们的设置在重启机器之后也生效,修改 /etc/profile 文件,

添加输出一下内容:

退出bash shell,重新登录,

在不同的时间输入命令来测试,然后输入history 命令,

结果就如我们所需要的那样了:


OK,有了这个记录命令操作时间的显示,

你可以把系统能存储命令的条数改大一些:

修改 /etc/profile 里的 HISTSIZE 参数,默认是1000.

你可以修改成为2000,或者更多……

好了,全文完,希望能对你也有所帮助。

猜你喜欢

转载自nigelzeng.iteye.com/blog/1181698