Linux history 歷史命令位置修改


  系統自帶的歷史命令顯示只有命令,看不到時間和用戶,添加下面代碼增強歷史命令並修改歷史命令文件存放的位置

1.在文件最下面添加以下代碼 ,這個是修改歷史命令存放的位置並顯示時間和用戶

~]# vim  /etc/profile  

HISTDIR=/usr/share/.history
DT=`date +%Y%m%d_%H%M%S`
if [ ! -d $HISTDIR ];then
    mkdir -p $HISTDIR
    chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ];then
    mkdir -p $HISTDIR/${LOGNAME}
    chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"

export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`] [$(whoami)] "
#記錄shell執行的每一條命令   
export PROMPT_COMMAND='\
if [ -z "$OLD_PWD" ];then
  export OLD_PWD=$PWD;
fi
if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ];then
  logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)"
fi
export LAST_CMD="$(history 1)"
export OLD_PWD=$PWD;'
View Code

 

2.這個只是增加了歷史命令的時間

~]# vim /etc/profile

## 設置history格式
export HISTTIMEFORMAT="[%Y-%m-%d %H:%M:%S] [`who am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`] "
## 實時記錄用戶在shell中執行的每一條命令
export PROMPT_COMMAND='\
if [ -z "$OLD_PWD" ];then
    export OLD_PWD=$PWD;
    fi;
    if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then
        logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";
        fi ;
        export LAST_CMD="$(history 1)";
        export OLD_PWD=$PWD;'
View Code

 

注:2選1 寫入到profile環境變量文件中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM