Posted on 2010-02-04 14:26
Prayer 閱讀(3285)
評論(0) 編輯 收藏 引用 所屬分類:
Shell 、
LINUX/UNIX/AIX
AIX下的ksh缺省會將所有執(zhí)行的命令歷史記錄在/.sh_history文件中,但是一直以來,該文件中只記錄命令本身而不記錄命令執(zhí)行的時間。
在 AIX5.3 中支持在 .sh_history 中記錄時間,具體實現(xiàn)方式如下:
1. 需要在環(huán)境變量中增加一個變量:EXTENDED_HISTORY=ON (注意,一定是大寫ON,小寫無效)
2. 此時 view .sh_history 文件可以發(fā)現(xiàn)記錄的命令是如下格式,其中被 #? 括起來的部分就是命令執(zhí)行的時間戳,該數(shù)值是從1970年到當時的秒數(shù)。
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 (另一個關(guān)于命令歷史的環(huán)境變量,用于定義最多保存的命令條數(shù),可根據(jù)需要修改)
增加后用戶重新登錄后即生效,不需要重啟
另外,轉(zhuǎn)一個beginner的帖子,也是關(guān)于用戶執(zhí)行命令的具體時間這個問題的探討
http://www.cublog.cn/u/739/showart.php?id=436897