Linux history显示时间戳

作者: qq_36040184 2017-01-16 14:48:59

在管理服务器中为了提高history命令的效率,可以history命令加上一些参数,比如时间、用户和IP等等参数。


 


(1)加上时间和用户


export HISTTIMEFORMAT="%F %T `whoami` "


 


(2)再加上IP


USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`  


export HISTTIMEFORMAT="[%F %T][`whoami`][${USER_IP}] "


 


(3)为了持久保存需要写进配置


编辑 /etc/profile 将上一步内容写入,然后source一下。


source /etc/profile  


 


第一步效果:


0x0bUnix-2:~ kill3r$ history   


5  2017-01-15 20:56:39 kill3r ls  


6  2017-01-15 20:56:51 kill3r pwd  


7  2017-01-15 20:56:56 kill3r whoami  


8  2017-01-15 20:56:58 kill3r id  


9  2017-01-15 20:57:05 kill3r history 


 


第二步效果:


0x0bUnix-2:~ kill3r$ history   


5  [2017-01-15 21:41:50][kill3r][833] ls  


6  [2017-01-15 21:41:53][kill3r][833] pwd  


7  [2017-01-15 21:41:58][kill3r][833] whoami  


8  [2017-01-15 21:42:01][kill3r][833] id  


9  [2017-01-15 21:42:14][kill3r][833] history


 


原理:


0x0bUnix-2:~ kill3r$ who -u am i  


kill3r    ttys000  Jan 15 20:55   .        833  


0x0bUnix-2:~ kill3r$ who -u am i 2>/dev/null| awk '{print $NF}'  


833


 


NF其实是number of field, 即整行域的总数,print就是打印最后一个域


NR是指awk正在处理的记录位于文件中的位置(行号)


NF是指awk正在处理的记录包含几个域(字段),这于域分隔符有关,默认为空


%F    完整日期格式,等价于 %Y-%m-%d


%T    时间,等于%H:%M:%S


 


本文永久更新地址:http://www.linuxdiyf.com/linux/27866.html

相关资讯