概念:顾名思义,我们在linux终端输过的命令,系统都会将他们加载到内存中,以便我们快速调用命令。另外,Bash拥有自动记录命令历史的功能,用户所执行的命令会在注销时自动记录到自己的家目录下的.bash_history隐藏文件中,这样方便我们了解用户的对系统的整个操作过程,查询可能出错的原因。

 

查看命令历史记录的方法:

  1. 可以通过直接打开文件来查看


    命令

[tu@localhost ~]$ 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 (查看命令历史大小)

    

[root@localhost ~]# echo "HISTSIZE=10" >> /etc/profile
[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile 
[root@localhost ~]# 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.