如何配置↑密钥来从历史记录中获取命令?
例如:如果我输入p并按下,↑那么它应该只显示历史记录中以“p”开头的命令,如python、php、perl等。
请问有人可以帮我配置此功能吗?
我已经编辑了.bashrc
,但它对我来说不起作用。
答案1
以下两种方法几乎相同,只是取决于您要编辑哪个文件。我推荐.bashrc
这种方法,因为它不需要编辑系统文件的本地副本。
如果您遇到任何问题,请在下面发表评论,以便我们修复。
使用~/.bashrc
~/.bashrc
用以下命令编辑:gedit ~/.bashrc
添加以下行:
bind '"\e[A": history-search-backward' bind '"\e[B": history-search-forward'
- 保存然后关闭文件。
在终端中执行此命令:
source ~/.bashrc
使用~/.inputrc
在终端中执行此命令:
cp /etc/inputrc ~/.inputrc
~/.inputrc
用以下命令编辑新文件:gedit ~/.inputrc
将这些行附加到文件:
"\e[A": history-search-backward "\e[B": history-search-forward
参考:
答案2
或者,您可以按Ctrl+R然后开始输入您要查找的命令或命令的任何部分。您将在提示符下看到过去命令的自动完成。如果您继续输入,将出现更具体的选项。您也可以根据需要多次再次按Ctrl+ R,这样每次都会在您的历史记录中返回到上一个匹配的命令(来源:使用 Ctrl+R 浏览 Bash 历史记录)。
另一个建议是,如果您想查找历史记录中以“p”开头的最后 5 个命令,您可以使用以下命令:
grep "^p" ~/.bash_history | tail -n 5