更有效率地使用 Bash 历史记录

作者:Cheng Renquan

如果您使用 bash 一段时间了,您可能知道您输入的命令会保存在文件中~/.bash_history当您注销时。下次您登录时,bash 会自动从保存的文件中加载这些历史命令,然后您可以使用向上和向下箭头键来浏览您的命令历史记录,并找到您想要的命令,而不是重新输入。

但是,有更有效的方法来使用 bash 的历史记录:您可以使用 Ctrl+R(同时按住 Control 键和 R 键)。这将在您的 shell 中显示以下内容

(reverse-i-search)`':

如果您知道在您要搜索的命令中找到的一些子字符串,例如“ls”,bash 将搜索匹配的命令。例如,它可能会显示

(reverse-i-search)`ls': lsof -nP -p 3930

它实际显示的内容将取决于您之前输入的命令。

当您这样做时,bash 会查找您输入的包含子字符串“ls”的最后一个命令,在我的例子中是“lsof ...”。如果 bash 找到的命令是您正在寻找的,只需按 Enter 键即可执行它。您也可以在执行之前编辑命令以满足您当前的需求(使用向左和向右箭头键来移动)。如果您正在寻找不同的命令,请再次按 Ctrl+R 以在命令历史记录中进一步查找匹配的命令。您也可以继续键入更长的子字符串来细化搜索,因为搜索是增量的。

请注意,您输入的子字符串会在整个命令中搜索,而不仅仅是在命令的开头。

加载 Disqus 评论