shell_history
目录
Linux 命令的历史记录,会持久化存储,默认位置是当前用户家目录的
.bash_history
文件。当 Linux 系统启动一个 Shell 时,Shell 会从
.bash_history
文件中,读取历史记录,存储在相应内存的缓冲区中。
1. 基本用法
history (选项) (参数)
选项
- -c:清空当前历史命令;
- -a:将历史命令缓冲区中命令写入历史命令文件中;
- -r:将历史命令文件中的命令读入当前历史命令缓冲区;
- -w:将当前历史命令缓冲区命令写入历史命令文件中。
参数
- n:打印最近的 n 条历史命令。
history 10 #显示最后的 10 条历史记录
history -w #主动保存缓冲区的历史记录
history -c #将缓冲区内容直接删除
2. 重复执行命令
!1024 #重复执行第 1024 历史命令
!! #重复执行上一条命令
!-6 #重复执行倒数第 6 条历史命令
3. 搜索历史命令
!curl:p #打印出了搜索到的命令,如果要执行,请按 Up 键,然后回车即可
4. 显示时间戳
export HISTTIMEFORMAT='%F %T '
history 3
#用于审计操作
export HISTTIMEFORMAT="%F %T `who -u am i 2>/dev/null| awk '{print $NF}'|sed \-e 's/[()]//g'` `whoami` "
5. 控制历史记录总数
echo $HISTSIZE
export HISTSIZE=10000
#永久生效配置
$ echo "export HISTSIZE=10000" >> ~/.bash_profile
$ echo "export HISTFILESIZE=200000" >> ~/.bash_profile
$ source ~/.bash_profile