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 ~]#!1002pwd/root

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

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

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

[root@moban ~]# tail -10 .bash_historycat .bash_history more .bash_historyhistory -5history 5pwdhistory 5pwdls -asz .bash_historyinit  6[root@moban ~]#history -a[root@moban ~]# tail -10 .bash_historypwdls -asz .bash_historyinit  6history 3history 10sy -y .bash_historysz -y .bash_historytail -10.bash_historyhistory -a