0%

Linux history命令

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的时候,你会看到这三条命令连续出现。设置HISTCONTROLignoredups,来消除重复命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# pwd

# pwd

# pwd

# history | tail -4

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
# export HISTCONTROL=ignoredups

# pwd

# pwd

# pwd

# history | tail -3

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:”
处无为之事,行不言之教;作而弗始,生而弗有,为而弗恃,功成不居!

欢迎关注我的其它发布渠道