Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1261393
  • 博文数量: 264
  • 博客积分: 10772
  • 博客等级: 上将
  • 技术积分: 2325
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-25 11:54
文章分类

全部博文(264)

文章存档

2012年(4)

2011年(51)

2010年(31)

2009年(57)

2008年(51)

2007年(70)

分类:

2009-03-25 10:29:51

history是一条比较实用的shell命令,可以显示出之前在shell中运行的命令历史列表,配合last可以显示之前登录的用户,这样就可以追溯是哪个用户执行了某些命令

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。

希望以上内容可以对需要的朋友有所帮助!

阅读(5176) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~