通过Linux下的history命令我们可以查看用过的命令,即历史命令,今天我们就来了解一下吧!

一、什么是history

  在bash功能中,它能记忆使用过的命令,这个功能最大的好处就是可以查询曾经做过的举动!

  从而可以知道你的运行步骤,那么就可以追踪你曾下达过的命令,以作为除错的工具!

  二、History的保存

  那么命令记录在哪里呢?在家目录内的 .bash_history 里! 不过,需要留意的是,~/.bash_history 记录的是前一次登陆以前所运行过的命令,而至于这一次登陆所运行的命令都被缓存在内存中,当你成功的注销系统后,该命令记忆才会记录到 .bash_history 当中!

  三、调用历史命令

  接下来学习history历史命令的用法。

  如下:

  history [n]

  [root@Desktop]#history [-c]

  选项与参数:

  n :数字,意思是要列出最近的 n 条命令行表的意思!

  -c :将目前的 shell 中的所有 history 内容全部消除

  -a :将目前新增的 history 命令新增入 历史命令储存文件中,若没有加 histfiles ,

  则默认写入 ~/.bash_history

  -r :将历史命令储存文件的内容读到目前这个 shell 的 history 记忆中;

  -w :将目前的 history 记忆内容写入历史命令储存文件中!

  例1,列出目前内存内的所有 history 历史记录

  如下:

  [root@Desktop]#history

  # 前面省略

  1017 man bash

  1018 ll

  1019 history

  1020 history

  列出的信息当中,共分两栏,第一栏为该命令在这个 shell 当中的代码, 另一个则是命令本身的内容!至于会显示多少条命令记录,则与 HISTSIZE 有关!

  例2,列出目前最近的 3 条数据

  代码如下:

  [root@Desktop]#history 3

  1019 history

  1020 history

  1021 history 3

  例3,立刻将目前的数据写入 histfile 当中

  代码如下:

  [root@Desktop]#history -w

  # 在默认的情况下,会将历史纪录写入 ~/.bash_history 当中!

  [root@jb51 Desktop]#echo $HISTSIZE

  1000

       默认为1000

  四、历史使用的窍门

  1、!的使用

  ⑴!!重复前一个命令

  ⑵!字符 重复前一个以“字符”开头的命令

    !?abc 重复前一个包含abc的命令

  !-n 重复n个命令之前的那个命令