history命令追查登录的用户和时间

Linux查看History记录加时间,这个对于系统管理员还是很有帮助的,原因不解释,你懂得!
ora11g$ history  |  more  
1    rlwrap sqlplus / as sysdba
2    rlwrap sqlplus / as sysdba
3    date
4    rlwrap sqlplus / as sysdba
  但是这里只显示了命令,并没有显示执行命令的时间,因为保存历史命令的~/.bash_history里并没有保存时间。  

通过设置环境变量 export HISTTIMEFORMAT="%F %T `whoami` " 给history加上时间戳  

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

ora11g$ history 
1  2014-03-25 21:29:53 oracle rlwrap sqlplus / as sysdba
2  2014-03-25 21:29:59 oracle rlwrap sqlplus / as sysdba   
3 2014-03-25 21:31:23 oracle date
4 2014-03-25 21:31:43oracle rlwrap sqlplus / as sysdba

可以看到,历史命令的时间,用户已经加上了,但是.bash_history里并没有加上这个时间。
其实这个时间记录是保存在当前shell进程内存里的,如果你logout并且重新登录的话会发现你上次登录时执行的那些命令的时间戳都为同一个值,即当时logout时的时间。  

 

尽管如此,对于加上screen的bash来说,这个时间戳仍然可以长时间有效的,毕竟只要你的server不重启,screen就不会退出,因而这些时间就能长时间保留。
你在root用户下也可以使用echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile 然后source一下就OK 

----------------------------------------------------------------------------------------------------------------------------------------------------------

<1>
export HISTTIMEFORMAT="%F %T `whoami` "
输入如下的格式:
 
<2>记录命令的条数和大小==>
# vi ~/.bash_profile
HISTSIZE=1000
HISTFILESIZE=18234
<3>
# vi ~/.bash_profile    //更改历史命令的文件位置
HISTFILE=/root/.commandline_warrior

参考url:http://www.cnblogs.com/ask2650/articles/1669648.html

----------------------------------------------------------------------------------------------------------------------------------------------------------

HISTFILESIZE与HISTSIZE的区别

在linux系统中,history命令可以输出历史命令,历史命令默认保存在文件~/.bash_history中。

HISTFILESIZE 与 HISTSIZE都是history命令需要用到的两个shell变量,这两个变量到底有什么区别呢?

HISTFILESIZE 定义了在 .bash_history 中保存命令的记录总数,可以理解为.bash_history文件中最多只有HISTFILESIZE行

HISTSIZE 定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行

# set | grep HIST
HISTFILE=/root/.bash_history
HISTFILESIZE=1000
HISTSIZE=1000
# export HISTSIZE=10
# history
  991  history 
  992  vi .bash_history 
  993  history
  994  man history
  995  set | grep HIS
  996  history | wc -l
  997  cat .bash_history | wc -l
  998  set | grep HIS
  999  export HISTSIZE=10
 1000  history
原文地址:https://www.cnblogs.com/itcomputer/p/4662137.html