购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.3.1 历史命令

1.历史命令的查看

Bash拥有完善的历史命令,这对于简化管理操作、排查系统错误都有重要的作用,而且使用简单、方便,建议大家多使用历史命令。系统保存的历史命令可以使用history命令查看,命令格式如下:

如果history命令直接回车,则可用于查看系统保存的历史命令。命令如下:

这样就可以查看刚刚输入的系统命令,而且每条命令都是有编号的。系统默认保存1 000条历史命令,这是通过环境变量(环境变量的含义参见2.4.3节)HISTSIZE来进行设置的,可以在环境变量配置文件/etc/profile中进行修改。命令如下:

如果觉得1 000条历史命令不够日常管理使用,那么是否可以增加呢?当然可以,只需修改环境变量配置文件/etc/profile中的HISTSIZE字段即可。不过,我们需要考虑一个问题:这些历史命令是保存在哪里的呢?如果历史命令是保存在文件中的,那么我们可以放心地增加历史命令的保存数量,因为哪怕有几万条历史命令,也不会占用多大的硬盘空间。但是,如果历史命令是保存在内存当中的,就要小心了。好在历史命令是保存在~/.bash_history文件中的,所以我们可以放心地增加历史命令的保存数量,如10 000条。命令如下:

需要注意的是,因为每个用户的历史命令是单独保存的,所以在每个用户的家目录中都有.bash_history这个历史命令保存文件。

如果某个用户的历史命令总条数超过了历史命令的保存数量,那么新命令会变成最后一条命令,而最早的命令会被删除。假设系统只能保存1 000条历史命令,而笔者已经保存了1 000条历史命令,那么新输入的命令会被保存成第1 000条命令,而最早的第1条命令会被删除。

还要注意,使用history命令查看到的历史命令和~/.bash_history文件中保存的历史命令是不同的。这是因为当前登录操作的命令并没有被直接写入~/.bash_history文件中,而是被保存在缓存中,需要等当前用户注销之后,缓存中的命令才会被写入~/.bash_history文件中。如果需要把缓存中的命令直接写入~/.bash_history文件中,而不等当前用户注销后再写入,则需要使用“-w”选项。命令如下:

这时再去查看~/.bash_history文件,查看到的历史命令就和使用history命令查看到的历史命令一致了。

如果需要清空历史命令,则只需执行如下命令:

这样就会把缓存和~/.bash_history文件中保存的历史命令清空。

2.历史命令的调用

如果想要使用原先的历史命令,则有以下几种方法:

● 使用上、下箭头调用以前的历史命令。

● 使用“!n”重复执行第 n 条历史命令。

● 使用“!!”重复执行上一条命令。

● 使用“!字符串”重复执行最后一条以该字符串开头的命令。

● 使用“!$”重复上一条命令的最后一个参数。 coUSEU1jSD7V8hAvBE596dJplDK5d3nvtxC80yxVW6kZ+4qP9NXSg13RSK0wZmH2

点击中间区域
呼出菜单
上一章
目录
下一章
×