在 linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的 .bash_history
文件中。通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题排查。
!
执行指定序号的历史命令。例如,要执行第 2 个历史命令,则输入!2。1000
条历史命令,该数量是由环境变量 HISTSIZE
进行控制。Tips: 如想查询某个用户在系统上执行了什么命令,可以使用root用户身份登录系统,检查Home目录下的用户主目录下的 .bash_history
文件,该文件记录了用户所使用的命令和历史信息。
配置显示历史命令的执行时间格式
export HISTTIMEFORMAT="%F %T "
历史列表忽略指定命令
export HISTIGNORE="pwd:ls:ll"
:
隔开。配置历史列表缓存区的记录总数(默认 1000)
export HISTSIZE=500
配置历史列表文件 .bash_history 的记录总数(默认 2000)
export HISTFILESIZE=3000
配置指定历史列表文件(默认 ~/.bash_history)
export HISTFILE=~/.history
配置记录所有重复命令(默认 HISTCONTROL=ignoreboth)
export HISTCONTROL=ignoredups
当 HISTCONTROL 为以下值时,作用分别如下:
ignoredups
记录此后所有操作命令,包括连续重复命令;ignoreboth
消除此后命令历史中的连续重复条目(默认);erasedups
消除此后命令历史列表中的重复命令。禁用 history
export HISTSIZE=0
Tips: 上述配配置均是当前回话生效,如需永久生效,请将对应配置写入环境配置文件中,如 ~/.bashrc
, /etc/profile
反向查询历史命令
Ctrl+r
,再输入关键字
Tips:
执行上一个命令
!!
!-1
执行序号 num 的历史命令
!num
执行最近一个 cmd 开头的历史命令
!cmd
清空历史命令
history -c
rm -f ~/.bash_history
echo "">~/.bash_history
复用上一条命令的参数
!!:^
或 !:^
或 !^
执行上一条命令的第一个参数;!!:$
或 !:$
或 !$
执行上一条命令的最后一个参数;!!:num
或 !:num
执行上一条命令的第 num 个参数;复用最近一条 cmd 命令的参数
!cmd:^
执行 cmd 命令的第一个参数;!cmd:$
执行 cmd 命令的最后一个参数;!cmd:num
执行 cmd 命令的第 num 个参数;你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧