我发现记录我运行的每个命令的详细日志,我从哪个路径运行它以及我从哪个用户那里执行命令,随着时间的流逝,我正在努力记住我所做的事情是非常有价值的。前段时间,在浏览了本网站以及其他网站上的各种文章后,我想出了一个非常有效的解决方案。这是我的 .bashrc 中的内容:
SUDOUSER=`who am i | awk '{print $1}'`
SUDOIP=`who am i | awk '{print $6}'`
DT=`date +"%Y%m%d%H%M%S"`
export HISTCONTROL=ignoredups
export HISTFILE=~/.history
DETAILHISTORY=~/.historydetail
echo $DT $SUDOUSER:$SUDOIP[$$] \|\|\| $(finger $SUDOUSER | head -1) logged in on $(date) \|\|\| >> $DETAILHISTORY
export PROMPT_COMMAND='trap "" 1 2 15; DT=`date +"%Y%m%d%H%M%S"`; history -a >(tee -a ~/.bash_history | while read line; do cwd=$(echo "$cwd" | sed "s|$HOME|~|g"); if [[ $line =~ ^#[0-9]*$ ]] ; then continue; fi; echo "$DT $SUDOUSER:$SUDOIP[$$] {$cwd} $line" >> $DETAILHISTORY; …Run Code Online (Sandbox Code Playgroud)