让linux history命令显示命令的运行时间、在哪个机器运行的这个命令


1.在/etc/profile的最后加入例如以下部分:

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

2. source /etc/profile

3.随便运行一下什么命令,

4.运行history,看效果:
  311  [2013-08-28 14:39:20][root][192.168.80.1] history
  312  [2013-08-28 14:39:43][root][192.168.80.1] df -h
  313  [2013-08-28 14:39:45][root][192.168.80.1] df -g
  314  [2013-08-28 14:39:47][root][192.168.80.1] history
  315  [2013-08-28 14:40:01][root][192.168.80.1] ifconfig
  316  [2013-08-28 14:44:53][root][192.168.80.1] init 6
  317  [2013-08-28 14:46:56][root][192.168.80.1] sdfsdfsd
  318  [2013-08-28 14:46:58][root][192.168.80.1] ls
  319  [2013-08-28 14:47:02][root][192.168.80.1] hostory
  320  [2013-08-28 14:47:04][root][192.168.80.1] history
  321  [2013-08-28 14:48:35][root][192.168.80.1] cat /etc/profile
  322  [2013-08-28 14:54:32][root][192.168.80.1] history

注意:1和2必须先运行完之后。才干看到history的效果。

若是想看1个月前的history,而那时还没有运行1和2,这样的情况下是看不到想要的效果的。

原文地址:https://www.cnblogs.com/zfyouxi/p/5372124.html