一、针对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/profileexport 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 ~/.bashrcexport 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登录时,不存在此问题。