問題描述:Linux、AIX上都提供了History命令,可以查詢以前執行的命令歷史記錄,但是這個記錄並不包含時間項目。有時候需要回溯源頭時比較郁悶。如何讓History記錄時間呢?如下針對LINXU和AIX進行了實踐,本文本意是作為個人記錄。
一、LINUX系統
1、編輯編輯/etc/bashrc文件,加入如下三行:
HISTFILESIZE=2000
HISTSIZE=2000
HISTTIMEFORMAT="%Y%m%d-%H%M%S: "
export HISTTIMEFORMAT
保存後退出,關閉當前shell,並重新登錄這個時候,在~/.bash_History文件中,就有記錄命令執行的時間了
注意:本方法必須在服務器剛剛新安裝好時候,就設置這個參數。
如果是已經運行了很久的服務器才添加這個參數,則以前的那些命令歷史記錄是不顯示時間的。
2、顯示的時間格式
[weblogic@localhost ~]$ history
992 20120223-103953: hisrory
993 20120223-103953: history
994 20120223-103953: vi /etc/bashrc
995 20120223-103953: vi /etc/bashrc
996 20120223-103953: cd /etc
1040 20120222-114927: sl
1041 20120222-114932: cat
1042 20120222-114955: tac
1043 20120222-115000: more
1044 20120222-115005: erom
1045 20120223-103956: hisroy
1046 20120223-104000: history
二、AIX系統
1、用ROOT用戶VI,添加EXTENDED_HISTORY=ON至/etc/environment
2、其他用戶登陸
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2006.
login: oracle
oracle's Password:
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: Sat Nov 19 02:10:46 BEIST 2011 on ftp from ::ffff:172.16.128.16
Last login: Wed Feb 15 16:52:01 BEIST 2012 on /dev/pts/0 from 172.16.3.6
[YOU HAVE NEW MAIL]
$ env
_=/bin/env
TMPDIR=/tmp
LANG=en_US
TEMP=/tmp
LOGIN=oracle
PATH=/home/oracle/database/bin:/bin:/usr/bin:/etc:/usr/sbin:/usr/ucb:/home/oracle/bin:/usr/bin/X11:/sbin:.
EXTENDED_HISTORY=ON==========================環境變量已經有了
ORACLE_BASE=/home/oracle
LC__FASTMSG=true
LOGNAME=oracle
TMP=/tmp
MAIL=/usr/spool/mail/oracle
ORACLE_SID=standby
LOCPATH=/usr/lib/nls/loc
USER=oracle
AUTHSTATE=compat
SHELL=/usr/bin/ksh
ODMDIR=/etc/objrepos
HOME=/home/oracle
TERM=xterm
3、fc -t命令看到此後的命令已經有時間記錄了
$ fc -t
143 ? :: cd /home/oracle/admin/standby/bdump
144 ? :: tail -f *.log
145 ? :: df -g
146 ? :: tail -f *.log
147 ? :: cd /home/oracle/admin/zjport/bdump
148 ? :: tail -f *.log
149 ? :: cd /home/oracle/admin/standby/bdump
150 ? :: tail -f *.log
151 ? :: errpt
152 ? :: cd /home/oracle/admin/standby/bdump
153 ? :: tail -f *.log
154 ? :: vi ~/.bash_profile
155 ? :: su -
156 2012/02/23 10:54:45 :: env
157 2012/02/23 10:54:49 :: history
158 2012/02/23 10:54:54 :: fc -t
4、切換回ROOT,發現也可以實現記錄時間了
$ su -
root's Password:
P560A:/#fc -t
539 ? :: set -o vi or ksh -o vi
540 ? :: history
541 ? :: errpt -a>errpt-a.20111223
542 ? :: fc -t
543 ? :: whoami
544 ? :: more /etc/profile
545 ? :: cp /etc/profile /etc/profile_bak
546 ? :: vi /etc/profile
547 ? :: whoami
548 ? :: cd /etc
549 ? :: ls -lt|grep pro
550 ? :: vi /etc/environment
551 ? :: env
552 ? :: fc -t
553 ? :: fc -t
554 2012/02/23 10:56:04 :: fc -t
附:在AIX下 運行history命令顯示出來的歷史命令的語句是什麼
1. $set -o vi or ksh -o vi
2. 按esc,k--上一次命令,j下一個命令,可以編輯命令,操作同vi
本文出自 “麥地塢” 博客,請務必保留此出處http://yunlongzheng.blog.51cto.com/788996/787549