history
功能:显示或者修改历史命令 补充说明:当用户登陆的时候默认会从家目录的.bash_history文件中读取之前保存历史命令,登录之后执行的命令,会保存在内存中,所以执行history查看的命令是保存在文件中的历史命令+内存中的历史命令
定制history的功能,可通过修改环境变量实现:
(1)HISTSIZE:shell进程可以保留的命令历史条数,这里指的是内存中,默认1000
(2)HISTFILE:持久保存命令历史的文件,默认用户家目录下的.bash_history文件
(3)HISTFILESIZE:命令历史文件大小,这里指的是文件中,文件中 默认1000
(4)HISTCONTROL:控制命令历史记录的方式
可以设置的几个选项
- ignoredups:忽略重复命令
- ignorespace:忽略以空白字符开头的命令
- ignoreboth:以上2者同时生效
用法:
history [-c] [-d offset] [n]
history -anrw [filename]
history -ps arg [arg…]
常用选项 | 作用 |
---|---|
-c | 清空命令历史 ,这里清空的只是内存中的历史命令 |
-d offset | 删除指定命令历史 |
-r | 从文件读取命令至命令列表中,相当于从文件中把历史命令读到内存中 |
-w | 把历史列表中的命令追加到历史文件中。相当于吧内存中的历史命令写入到文件中 |
# | 显示最近的#条命令 |
调用命令历史列表中的命令:
!# 再一次执行历史列表中的第#条命令
!! 执行上一条命令
!STRING 执行命令历史列表中最近一个以STRING开头的命令
调用上一条命令最后一个参数:
快捷键:ESC+.
字符串:!$
例子1:执行上一条命令
例子1:清空内存中的历史命令
history -c
例子2:从文件中读取命令到命令列表
history -r
例子3:显示最近10条历史命令
history 10
例子4 执行上一条命令
!!