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