在命令 history 中显示时间戳


 history 是一条非常实用的 shell 命令,可以显示出之前在 shell 中运行的命令,配合 last 显示之前登录的用户,就可以追溯是哪个用户执行了某些命令。

last
...
mysurface    tty7         :0               Mon Oct  6 20:07 - down   (00:00)
reboot   system boot  2.6.24.4-64.fc8  Mon Oct  6 20:06          (00:00)
mysurface    pts/8        10.168.28.44     Mon Oct  6 17:42 - down   (01:58)
mysurface    pts/7        :0.0             Mon Oct  6 17:41 - 19:40  (01:59)
mysurface    pts/6        :0.0             Mon Oct  6 17:27 - 19:40  (02:13)
mysurface    pts/5        :0.0             Mon Oct  6 17:27 - 19:40  (02:13)
mysurface    pts/5        :0.0             Mon Oct  6 15:52 - 15:59  (00:07)
...
    不过默认下,history 并不记录命令的执行时间,分析起来很困难。这时候可以配置 HISTTIMEFORMAT 环境变量,给 history 记录添加上时间戳:

export HISTTIMEFORMAT="%F %T "
    效果:

...
  994  2008-10-16 02:27:40 exit
  995  2008-10-16 01:12:20 iptables -nL
  996  2008-10-16 01:47:46 vi .bash_profile
  997  2008-10-16 01:47:55 history
  998  2008-10-16 01:48:03 . .bash_profile
  999  2008-10-16 01:48:04 history
 1000  2008-10-16 01:48:09 exit
 1001  2008-10-16 02:27:43 history
...
    把上面的 export 命令加入到  ~/.bashrc 或者 ~/.bash_profile  中即可在登录后自动开启 history 时间戳了~

    其实 HISTTIMEFORMAT 的格式就是 strftime 函数的格式,比如上面的  "%F %T",%F 表示显示出  Y-M-D 格式的日期,%T 表示显示出  H-M-S 这样格式的时间。更多的格式,可以参考 man strftime

本文作者:



相关阅读:
网站鼠标变变变!
Oracle数据库三种标准的备份方法
Javascript的荧光字效果
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
新手需要知道的10大Ajax开发守则
从dedecms 5.1升级到5.3的一些感受分享
php实现的遍历文件夹下所有文件,编辑删除
Google Chrome内存占用、性能、兼容性测试
CSS控制H1不换行
Oracle 下导入txt的shell脚本以及配置
实用的多级树形展开菜单效果代码
CSS教程:行高line-height属性(1)
asp.NET 脏字过滤算法
PHP4实际应用经验篇(9)
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4