Linux查看History记录加时间戳的小技巧

(编辑:jimmy 日期: 2024/9/21 浏览:2)

Linux查看History记录加时间戳小技巧

熟悉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  

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接

一句话新闻
微软与英特尔等合作伙伴联合定义“AI PC”:键盘需配有Copilot物理按键
几个月来,英特尔、微软、AMD和其它厂商都在共同推动“AI PC”的想法,朝着更多的AI功能迈进。在近日,英特尔在台北举行的开发者活动中,也宣布了关于AI PC加速计划、新的PC开发者计划和独立硬件供应商计划。
在此次发布会上,英特尔还发布了全新的全新的酷睿Ultra Meteor Lake NUC开发套件,以及联合微软等合作伙伴联合定义“AI PC”的定义标准。