如何配置向上箭头来搜索历史记录?

如何配置向上箭头来搜索历史记录?

如何配置密钥来从历史记录中获取命令?

例如:如果我输入p并按下,那么它应该只显示历史记录中以“p”开头的命令,如python、php、perl等。

请问有人可以帮我配置此功能吗?

我已经编辑了.bashrc,但它对我来说不起作用。

答案1

以下两种方法几乎相同,只是取决于您要编辑哪个文件。我推荐.bashrc这种方法,因为它不需要编辑系统文件的本地副本。

如果您遇到任何问题,请在下面发表评论,以便我们修复。

使用~/.bashrc

  1. ~/.bashrc用以下命令编辑:

    gedit ~/.bashrc
    
  2. 添加以下行:

    bind '"\e[A": history-search-backward'
    bind '"\e[B": history-search-forward'
    
  3. 保存然后关闭文件。
  4. 在终端中执行此命令:

    source ~/.bashrc
    

使用~/.inputrc

  1. 在终端中执行此命令:

    cp /etc/inputrc ~/.inputrc
    
  2. ~/.inputrc用以下命令编辑新文件:

    gedit ~/.inputrc
    
  3. 将这些行附加到文件:

    "\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

相关内容