History命令及相关知识

时间:2021-12-31 00:50:56

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
History命令及相关知识
例子2:从文件中读取命令到命令列表
history -r
History命令及相关知识
例子3:显示最近10条历史命令
history 10
History命令及相关知识

例子4 执行上一条命令
!!
History命令及相关知识