重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
服务器
Linux查看History记录加时间戳小技巧
创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为拉孜企业提供专业的成都网站建设、成都网站制作,拉孜网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。熟悉bash的都一定知道使用history可以输出你曾经输入过的历史命令,例如
[root@servyou_web ~]# history | more 6 ./test.sh 7 vim test.sh 8 ./test.sh
但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history
里并没有保存时间。
通过设置环境变量 export HISTTIMEFORMAT=%F %T `whoami`
给history加上时间戳
[root@servyou_web ~]# export HISTTIMEFORMAT=%F %T `whoami` [root@servyou_web ~]# history | tail 1014 2011-06-22 19:17:29 root 15 2011-06-22 19:13:02 root ./test.sh 1015 2011-06-22 19:17:29 root 16 2011-06-22 19:13:02 root vim test.sh 1016 2011-06-22 19:17:29 root 17 2011-06-22 19:13:02 root ./test.sh 1017 2011-06-22 19:17:29 root 18 2011-06-22 19:13:02 root vim test.sh 1018 2011-06-22 19:17:29 root 19 2011-06-22 19:13:02 root ./test.sh 1019 2011-06-22 19:17:29 root 20 2011-06-22 19:13:02 root vim test.sh 1020 2011-06-22 19:17:29 root 21 2011-06-22 19:13:02 root ./test.sh 1021 2011-06-22 19:17:29 root 22 2011-06-22 19:13:02 root vim test.sh 1022 2011-06-22 19:25:22 root 22 2011-06-22 19:13:02 root vim test.sh 1023 2011-06-22 19:25:28 root history | tail
可以看到,历史命令的时间戳已经加上了,但是.bash_history里并没有加上这个时间戳。其实这个时间记录是保存在当前shell进程内存里的,如果你logout并且重新登录的话会发现你上次登录时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。
尽管如此,对于加上screen的bash来说,这个时间戳仍然可以长时间有效的,毕竟只要你的server不重启,screen就不会退出,因而这些时间就能长时间保留。你也可以使用echo \'export HISTTIMEFORMAT=%F %T `whoami` \'
>>/etc/profile
然后source
一下就OK
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对创新互联的支持。如果你想了解更多相关内容请查看下面相关链接