history命令使用
history命令介绍:
Linux系统会保存用户所操作的命令,history命令就是用来查看这些曾经的命令的。
history命令有很多用法,可以参考:
usage: history [-c] [-d offset] [n] or history -awrn [filename] or history -ps arg [arg...]
这里要讨论的情况是这样的:
在一个多用户的系统上,系统的关键文件突然被删除掉了,而你要去查找这个命令是谁(哪个用户)发出来的。这个时候,你就十分需要history这个命令了。(当然,还需要配合last来查找用户的登录情况,这里不讨论)
默认的history命令输出是这样的:
[[email protected] ~]# history
很明显,上面没有我们想要的信息,因为它不能显示每个命令是什么时间执行的。
所以,我们需要修改它的输出格式,
也就是修改 HISTTIMEFORMAT 这个参数的值。
在命令行下输入下面的命令:
[[email protected] ~]# export HISTTIMEFORMAT='%F %T '
再输入 history 命令来查看,会出现下面的结果:
我们需要的时间参数是加上去了,可是很明显它不对,怎么可能都是22:15:16执行的!
所以修改 HISTTIMEFORMAT 这个参数的Bug就在这里,他不能对改变HISTTIMEFORMAT参数以前的命令显示正确的执行时间。
他只能保存修改HISTIMEFORMAT值之后所保存的命令执行的时间。
为了使我们的设置在重启机器之后也生效,修改 /etc/profile 文件,
添加输出一下内容:
退出bash shell,重新登录,
在不同的时间输入命令来测试,然后输入history 命令,
结果就如我们所需要的那样了:
OK,有了这个记录命令操作时间的显示,
你可以把系统能存储命令的条数改大一些:
修改 /etc/profile 里的 HISTSIZE 参数,默认是1000.
你可以修改成为2000,或者更多……
好了,全文完,希望能对你也有所帮助。