history命令 – 显示与操纵历史命令
history命令用于显示用户以前执行过的历史命令,并且能对历史命令进行追加和删除等操作。
如果你经常使用Linux命令,那么使用history命令可以有效地提升你的效率。
语法格式: history [参数] [目录]
常用参数:
-a |
将当前shell会话的历史命令追加到命令历史文件中,命令历史文件是保存历史命令的配置文件 |
-c |
清空当前历史命令列表 |
-d |
删除历史命令列表中指定序号的命令 |
-n |
从命令历史文件中读取本次Shell会话开始时没有读取的历史命令 |
-r |
读取命令历史文件到当前的Shell历史命令内存缓冲区 |
-s |
将指定的命令作为单独的条目加入命令历史内存缓冲区。在执行添加之前先删除命令历史内存缓冲区中最后一条命令 |
-w |
把当前的shell历史命令内存缓冲区的内容写入命令历史文件 |
参考实例
显示最近的10条命令:
1
| [root@linuxcool ~]# history 10
|
将本次登录的命令写入历史文件中:
1
| [root@linuxcool ~]# history -w
|
将命令历史文件中的内容读入到目前shell的history记忆中 :
1
| [root@linuxcool ~]# history -r
|
将当前Shell会话的历史命令追加到命令历史文件中:
1
| [root@linuxcool ~]# history -a
|
清空当前历史命令列表:
1
| [root@linuxcool ~]# history -c
|
使用HISTCONTROL来消除命令历史中的连续重复条目
在下面的例子中pwd
被输入了三次,当你使用history
的时候,你会看到这三条命令连续出现。设置HISTCONTROL
为ignoredups
,来消除重复命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
44 pwd
45 pwd
46 pwd
47 history | tail -4
|
[注: 上面pwd被执行了三次之后,历史中有三条pwd命令]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
56 export HISTCONTROL=ignoredups
57 pwd
58 history | tail -4 [注:即使上面pwd被执行了三次,历史中也只有一条pwd命令]
|
用HISTIGNORE让history在存储时忽略某些指令
有时你不想在记录里看到诸如pwd
,ls
之类的基本指令,可以用HISTIGNORE忽略这些指令。
注意在HISTIGNORE中添加ls
,只忽略“ls”不忽略ls –l
。一定要准确的写出要忽略的的指令。
1
| # export HISTIGNORE=”pwd:ls:ls –ltr:”
|