linux history 显示时间及用户

一、设置系统环境变量

#只在当前环境下 生效

输入#export HISTTIMEFORMAT='%F %T ',重启后此命令失效

显示时间,并重启生效

echo 'export HISTTIMEFORMAT="%F %T  "' >> /etc/profile && source /etc/profile

显示用户及时间 并重启生效

echo 'export HISTTIMEFORMAT="%F %T  `whoami` "' >> /etc/profile && source /etc/profile

 

二、时间参数解析

1、在~/.bashrc或etc/profile文件中添加的history相关的说明          (PS:在~/.bashrc设置仅仅对当前用户有效,全局得在etc/profile中设置)

 

HISTFILESIZE=2000                        #设置保存历史命令的文件大小        

HISTSIZE=2000                          #保存历史命令条数        

HISTTIMEFORMAT="%Y-%m-%d:%H-%M-%S:`whoami`:  "    #记录每条历史命令的执行时间和执行者        

export HISTTIMEFORMAT    

 

 

参数说明:

在date +%Y-%m-%d ==2017-06-09中  

%Y:   4位数的年份;        

%m:  2位数的月份数;        

%d:   2位数的一个月中的日期数;         

%H:2位数的小时数(24小时制);         

%M:2位数的分钟数;                                       

 

                 某大神方案(为history添加时间戳,且导出保存)

 

 

1、在etc/profile中添加:

HISTSIZE=1000

HISTTIMEFORMAT="%Y/%m/%d %T ";export HISTTIMEFORMAT

export HISTORY_FILE=/var/log/audit.log

export PROMPT_COMMAND='{ thisHistID=`history 1|awk "{print \\$1}"`;lastCommand=`history 1| awk "{\\$1=\"\" ;print}"`;user=`id -un`;whoStr=(`who -u ami`);realUser=${whoStr[0]};logMonth=${whoStr[2]};logDay=${whoStr[3]};logTime=${whoStr[4]};pid=${whoStr[6]};ip=${whoStr[7]};if [ ${thisHistID}x != ${lastHistID}x ];then echo -E date"+%Y/%m/%d %H:%M:%S"` $user\($realUser\)@$ip[PID:$pid][LOGIN:$logMonth $logDay $logTime] --- $lastCommand ;lastHistID=$thisHistID;fi; } >> $HISTORY_FILE’

 2、 执行source /etc/profile使之生效

来源:linux 学习随记---设置日志时间戳 - i11USi0n - 博客园 (cnblogs.com)

 

 

 备注: 也可以在  /root/.bash.rc  中设置生效

1. vi /root/.bash.rc

 

2. 编辑

# User specific aliases and functions

alias nm='rm -i'
alias cp='cp -i'
alias mv='my -i'
#Display date
export HISTTIMEFORMAT='%F %T '
#Source global definitions
if [ -f /etc/bashrc ]; then
./etc/bashrc
fi

3. 重启

输入source .bashrc立即生效

上一篇:navigator对象和history对象


下一篇:linux histroy显示时间