红联Linux门户
Linux帮助

Linux history显示时间戳

发布时间:2017-01-16 14:48:59来源:linux网站作者:qq_36040184
在管理服务器中为了提高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