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 数字
1
2
3
4
5
6
7
8
9
10
11
<code>[root@moban ~]#history </code><code>10</code>
<code> </code><code>991</code> <code>alias</code>
<code> </code><code>992</code> <code>alias -p</code>
<code> </code><code>993</code> <code>man cd</code>
<code> </code><code>994</code> <code>unalias network</code>
<code> </code><code>995</code> <code>type network</code>
<code> </code><code>996</code> <code>alias network=</code><code>'cat /etc/sysconfig/network-scripts/ifcfg-eth0'</code>
<code> </code><code>997</code> <code>unalias network</code>
<code> </code><code>998</code> <code>type network</code>
<code> </code><code>999</code> <code>man history</code>
<code> </code><code>1000</code> <code>history </code><code>10</code>
实例2:清除指定行号历史输入命令—history -d 行号
<code>[root@moban ~]#history -d </code><code>1000</code>
<code>[root@moban ~]#history </code><code>5</code>
<code> </code><code>1000</code> <code>history -d </code><code>1000</code>
<code> </code><code>1001</code> <code>history </code><code>5</code>
可以看到实例1中的历史输入命令“1000 history 10”已被清除。
实例3:执行指定行号的历史输入命令--! 行号
<code> </code><code>1002</code> <code>pwd</code>
<code> </code><code>1003</code> <code>history </code><code>5</code>
<code>[root@moban ~]#!</code><code>1002</code>
<code>pwd</code>
<code>/root</code>
实例4:运行上一个输入命令— !!
<code>[root@moban ~]# pwd</code>
<code>[root@moban ~]# !!</code>
实例5:将历史命令缓冲区中的命令写入历史命令文件中—history -a
12
13
14
15
16
17
18
19
20
21
22
23
<code>[root@moban ~]# tail -</code><code>10</code> <code>.bash_history</code>
<code>cat .bash_history </code>
<code>more .bash_history</code>
<code>history -</code><code>5</code>
<code>history </code><code>5</code>
<code>ls -a</code>
<code>sz .bash_history</code>
<code>init </code><code>6</code>
<code>[root@moban ~]#history -a</code>
<code>history </code><code>3</code>
<code>history </code><code>10</code>
<code>sy -y .bash_history</code>
<code>sz -y .bash_history</code>
<code>tail -</code><code>10</code><code>.bash_history</code>
<code>history -a</code>