概念:顾名思义,我们在linux终端输过的命令,系统都会将他们加载到内存中,以便我们快速调用命令。另外,Bash拥有自动记录命令历史的功能,用户所执行的命令会在注销时自动记录到自己的家目录下的.bash_history隐藏文件中,这样方便我们了解用户的对系统的整个操作过程,查询可能出错的原因。
查看命令历史记录的方法:
- 可以通过直接打开文件来查看
命令
[[email protected] ~]$ cat .bash_history
2.通过键盘的上下键来上翻或下翻历史记录
3.通过history命令查看历史记录
命令历史:
命令历史相关的设置:
echo $HISTSIZE查看变量历史命令的大小(缓存多少条命令)命令历史的大小默认是1000,
echo $HISTFILESIZE命令历史文件大小(命令历史文件能保存多少条历史命令)
echo $HISTTIMEFORMAT(显示命令执行时间)
echo $HISTFILE命令历史文件(/root/.bash_history用户的路径)
echo $HISTCONTROL查看历史记录保存方式:
ignoredups不记录后面重复的命令(只记录连续重复命令一次)
ignorespace不记录以空白开头的命令
ignoreboth不记录以空白开头的命令,且连续重复的命令只记录一次
使用方法:修改缓存中命令历史大小
第一步: echo "HISTSIZE=10" >> /etc/profile(加载变量到文件中)
第二步 : source /etc/profile(载入缓存)
第三步 : vim /etc/profile(查看是否加入到文件中)
第四步 : history (查看命令历史大小)
[[email protected] ~]# echo "HISTSIZE=10" >> /etc/profile [[email protected] ~]# vim /etc/profile [[email protected] ~]# source /etc/profile [[email protected] ~]# history 257 as 258 fas 259 afs 260 af 261 a 262 fhsitory 263 history 264 vim /etc/profile 265 source /etc/profile 266 history
以下几个环境变量可以遵照上面方式修改,查看执行结果
histroy查看命令历史
-c清空命令历史
-d删除指定的hsitory记录,后面可以加第多少条
-a追加,将历史命令存盘(将缓存中的新命令追加到历史文件)
-w将缓存的内存保存在历史文件中(替换命令历史存盘)
history -d 500删除第500行记录,后面的往上移动
history -d 500 10删除第500行开始,往后的10行
历史命令的使用技巧:
执行第100条 !n-------!100
!-n执行命令历史的倒数第多少条
!!执行上一条历史
!man执行最近的一次与执行字符串开头的命令
!$应用前一个命令的最后一个参数
!^应用前一个命令的第一个参数
esc 按下在松开再按.可以显示上一条命令
几个常见的配置文件:
命令历史文件配置 /etc/profile :全局有效 /.bash_profile:当前用户有效
命令历史缓存配置 /etc/bashrc :全局有效 /.bash_history :当前用户有效
总结重复执行上一次命令的方法: !!, !-1, ctrl+p ,按上键
注意点:
执行命令后,系统自动把命令加载到缓存中,退出shell后加载到/.bah_history 重新登录shell时,会自动读取命令历史/.bash_history.