免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3420 | 回复: 0
打印 上一主题 下一主题

AIX5.3 在shell的 history中记录命令执行的时间 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-02-01 16:17 |只看该作者 |倒序浏览

                AIX下的ksh缺省会将所有执行的命令历史记录在/.sh_history文件中,但是一直以来,该文件中只记录命令本身而不记录命令执行的时间。
在 AIX5.3 中支持在 .sh_history 中记录时间,具体实现方式如下:
1. 需要在环境变量中增加一个变量:EXTENDED_HISTORY=ON (注意,一定是大写ON,小写无效)
2. 此时 view .sh_history 文件可以发现记录的命令是如下格式,其中被 #? 括起来的部分就是命令执行的时间戳,该数值是从1970年到当时的秒数。
    env | grep HIS #?1184585109#?
    ls #?1184585111#?
    fc -t #?1184585117#?
    vi /.sh_history #?1184585179#?
3. 为了换算成我们可以阅读的时间,可以使用 perl 命令 perl -e 'print scalar localtime 1184585179'。当然更直接和简单的方法是使用 fc -t 命令来显示命令历史,其输出如下:
    1192    2007/07/16 12:25:09 :: env | grep HIS
    1193    2007/07/16 12:25:11 :: ls
    1194    2007/07/16 12:25:17 :: fc -t
    1197    2007/07/16 12:26:19 :: vi /.sh_history
4. 如果要对所有用户记录命令时间,建议更改 /etc/profile 文件,增加如下两行:
    export EXTENDED_HISTORY=ON
    export HISTSIZE=512   (另一个关于命令历史的环境变量,用于定义最多保存的命令条数,可根据需要修改)
   增加后用户重新登录后即生效,不需要重启
另外,转一个beginner的帖子,也是关于用户执行命令的具体时间这个问题的探讨
http://www.cublog.cn/u/739/showart.php?id=436897


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/23213/showart_2166632.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP