Linux命令总结—history命令

(1)命令功能

history命令用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓冲区和将历史命令缓冲区中的目录写入历史命令文件。

说明:bash启动的时候会读取~/.bash_history文件并载入到内存中,这个变量就用于设置.bash_history文件,bash退出时也会把内存中的历史回写到.bash_history文件,即history中显示的命令只保存在当前历史命令缓冲区中,只有退出登陆后系统才会把缓冲区的内容写入到历史命令文件中,当然也可以使用下面的命令参数实现。

(2)命令语法

history(选项) (参数)

(3)选项说明

  • -c:清空当前历史命令;

  • -d <行号>:清除指定行号的历史输入命令;

  • -a:将历史命令缓冲区中的命令写入历史命令文件中;

  • -r:将历史命令文件中的命令读入当前历史命令缓冲区;

  • -w:将当前历史命令缓冲区命令写入历史命令文件中。

(4)参数说明

  • n:打印最近的n条历史命令。

(5)实例

实例1:显示历史命令—history 数字

[root@moban ~]#history 10
  991 alias
  992 alias -p
  993 man cd
  994 unalias network
  995 type network
  996 alias network='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
  997 unalias network
  998 type network
  999 man history
 1000 history 10

       实例2:清除指定行号历史输入命令—history -d 行号

[root@moban ~]#history -d 1000
[root@moban ~]#history 5
  997 unalias network
  998 type network
  999 man history
 1000 history -d 1000
 1001 history 5

可以看到实例1中的历史输入命令“1000  history 10”已被清除。

实例3:执行指定行号的历史输入命令--! 行号

[root@moban ~]#history 5
  999 man history
 1000 history -d 1000
 1001 history 5
 1002 pwd
 1003 history 5
[root@moban ~]#!1002
pwd
/root

实例4:运行上一个输入命令— !!

[root@moban ~]# pwd
/root
[root@moban ~]# !!
pwd
/root

实例5:将历史命令缓冲区中的命令写入历史命令文件中—history -a

[root@moban ~]# tail -10 .bash_history
cat .bash_history 
more .bash_history
history -5
history 5
pwd
history 5
pwd
ls -a
sz .bash_history
init  6
[root@moban ~]#history -a
[root@moban ~]# tail -10 .bash_history
pwd
ls -a
sz .bash_history
init  6
history 3
history 10
sy -y .bash_history
sz -y .bash_history
tail -10.bash_history
history -a