history命令使用:
# 查看history记忆历史命令
history
# 查看最新n条历史命令
history [n]
# 清空当前shell内存中的历史命令(对历史命令文件无影响)
history -c
# 将历史命令文件内容读入当前shell的history记忆中
history -r
# 执行上一条命令
!!
# 执行history记忆中第几行命令
![n]
相关环境变量
/etc/profile 全局变量环境
~/.bashrc 用户变量环境;以此为准
手动配置history
在 /etc/profile.d/ 中创建history_conf.sh添加以下内容(全局生效,可选)
export HISTFILE="$HOME/.bash_history_new" # 指定命令写入文件(默认~/.bash_history)
export HISTSIZE=1000 # history输出记录数
export HISTFILESIZE=10000 # HISTFILE文件记录数
export HISTIGNORE="cmd1:cmd2:..." # 忽略指定cmd1,cmd2...的命令不被记录到文件;(加参数时会记录)
export HISTCONTOL=ignoreboth # ignoredups 不记录“重复”的命令;连续且相同 方为“重复” ;
# ignorespace 不记录所有以空格开头的命令;
# ignoreboth 表示ignoredups:ignorespace ,效果相当于以上两种的组合;
# erasedups 删除重复命令;
export PROMPT_COMMAND="history -a" # 设置每条命令执行完立即写入HISTFILE(默认等待退出会话写入)
export HISTTIMEFORMAT="`whoami` %F %T " # 设置命令执行时间格式,记录文件增加时间戳(`whoami`用户信息)
shopt -s histappend # 防止会话退出时覆盖其他会话写到HISTFILE的内容;
source一下生效(每次登录都要source,建议在.bashrc中加上)
source /etc/profile.d/history_conf.sh
ps:普通用户的~/.bashrc和root用户的/root/.bashrc是两个文件
OK.