linux记录bash下命令的实例

一、针对history的小操作:

如何让history可以有时间戳显示

# export HISTTIMEFORMAT=‘%F %T ‘

清除history记录

[oracle@ www.linuxidc.com ~]$ history -c
[oracle@ www.linuxidc.com ~]$ history
   32  2012-07-04 01:20:40 history
[oracle@ www.linuxidc.com ~]$
注:清除history之后,.bash_history里仍会有历史记录

如何不让系统记录历史命令

# export HISTSIZE=0


二、通过logger记录bash命令到messages:

1、在/etc/profile或/etc/bashrc文件中加入:

readonly PROMPT_COMMAND=‘history -a >(tee -a ~/.bash_history | logger -t "$USER[$$] ($SSH_CONNECTION) bash")‘


三、其他方法记录bash命令:

     为所有用户添加history记录详细信息,把所有用户的操作指令都统一存到/var/log/ldf_history里,
     这样可以通过查看这一个文件,来了解用户的所有操作。
    【bash】
     #vi /etc/profile
     export PROMPT_COMMAND=‘{ date "+[ %Y%m%d %H:%M:%S `whoami` ] `history 1 | { read x cmd; echo "$cmd"; }`"; }    >> /var/log/ldf_history‘
     #source /etc/profile
     
     #vi ~/.bashrc
     export PROMPT_COMMAND=‘{ date "+[ %Y%m%d %H:%M:%S `whoami` ] `history 1 | { read x cmd; echo "$cmd"; }`"; } \
     >> /var/log/ldf_history‘
     #source ~/.bashrc
     说明:当用户使用csh/tcsh登录时,当进行su/sudo操作时有可能就改变到了bash用户下,或者用户直接执行bash时,这时不会去读取/etc/profile文件,所以需要在用户的主目录下的~/.bashrc加入上段内容,这样用户从csh/tcsh切换到bash 时也能正常记录用户的所有操作。当用户使用bash登录时,不存在此问题。




本文出自 “秋天的童话” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。