你的位置:首页 > 网海拾贝

Linux history显示时间戳

2015-04-02 浏览:(3695) 网海拾贝 评论(0)

在管理服务器中为了提高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

  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。