bash会保存使用过命令的历史记录。这些命令的历史记录列表保存在用户主目录的.bash_history文件中。这些历史记录非常有用,可以大大减少用户敲打键盘的次数,特别是和命令行编辑结合使用的时候。
最简单的,是用上下移动键找历史命令。如果要更快地找到历史命令,需要使用下面的方法。
一、显示历史命令
任何情况下,我们都可以通过如下命令查看历史记录的内容列表:
$ history | less
这之所以用less,是要分布显示。单纯的history命令,如果结果超过一屏,就看不见前面的了。因此使用管道让less来显示。
里面显示的每一条命令前面都有一个号码。我们可以用这个号码来执行这个历史命令。例如:
$ !88
会执行第88号命令。
二、用grep命令搜索历史命令
例如,以下命令:
$history | grep /usr/bin
在历史命令中搜索包含有/usr/bin的命令。如果有的话,将会显示这些命令的列表,并在最前面显示其号码。我们可以通过!加号码的方式来执行他们。
三、用快捷键搜索历史命令
按下ctrl+R,出现
(reverse-i-search)":
在后面输入搜索字符串。
可以按回车键执行搜索到的命令,用ctrl+J可以将搜索到的命令复制到当前命令行,供进一步编辑。
下表列出了更多的快捷键。
四、用!直接执行历史命令
前面说过,用!加号码,可以直接执行指定的历史命令。
用!还可以有更多的执行历史命令的方式,如下表所示:
使用!来执行历史命令时要小心,一定要清楚地知道要执行的命令是什么,以免造成损失,比如误删除了文件。
网友评论