> vim /etc/bashrcexport HISTTIMEFORMAT='%F %T ' #让历史命令记录操作韶光export HISTSIZE=1000000 #设置保存历史命令条数export HISTFILESIZE=1000000 #设置保存历史命令的文件大小shopt -s histappend #多个终端同时操作时,避免命令覆盖,采取追加办法PROMPT_COMMAND='history -a' #实时记录历史命令,防止丢失> source /etc/bashrc
把操作过的命令保存到文件方法1
vim /etc/bashrcexport HISTORY_FILE=/var/.history/date +'%y-%m-%d'.log #自定义历史命令保存文件export PROMPT_COMMAND=' { date "+%Y-%m-%d %T - USER:$USER IP:$SSH_CLIENT PS:$SSH_TTY - $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
实时记录历史命令到自定义文件中,不记录日志文件中
方法2> vim /etc/bashrcexport PROMPT_COMMAND='history -a { command=$(history 1 | { read x y;echo $y; } );logger -p local1.notice -t bash -i "user=$USER,ppid=$PPID,from=$SSH_CLIENT,pwd=$PWD,command:$command " }'> vim /etc/syslog.conflocal1.notice /var/log/cmd.log
记录到日志中,合营日志做事器,可把日志传送过去,安全性高
PROMPT_COMMAND是bash的环境变量,这个变量的中内容是作为一个普通的bash命令实行的,而且实行韶光是在bash显示prompt(命令行前缀提示符)之前。 这个好理解,便是说每实行一个命令前,PROMPT_COMMAND里面先实行,然后是prompt(命令行前缀提示符)。

原文链接:https://rumenz.com/rumenbiji/linux-history.html微信"大众号:入门小站
回答【1001】获取 linux常用命令速查手册回答【10010】获取 阿里云ECS运维Linux系统诊断回答【10012】获取 Linux学习条记【刁悍总结值得一看】回答【10013】获取 shell简明教程