在 Linux 命令行中,可以使用以下方法通过关键字快速索引最近使用过的命令:


方法 1:Ctrl + r – 反向查找命令

这是最常用的快捷方式,用于快速搜索命令历史。

  1. 按下 Ctrl + r
  2. 输入你想要搜索的关键字(例如 mysql)。
  3. 命令行会实时显示匹配的最近命令。
(reverse-i-search)`mysql`: mysql -u root -p
  1. 如果找到你需要的命令,按下 Enter 执行该命令,或者按 Ctrl + c 取消。

👉 搜索技巧

  • 如果多次按下 Ctrl + r,它会继续向历史中查找匹配的结果。
  • 要退出搜索模式,可以按下 Ctrl + g

方法 2:history + grep

如果你想列出所有包含某个关键字的历史命令,可以使用 history 配合 grep 命令:

  1. 在终端中输入:
history | grep mysql
  1. 这会列出所有包含关键字 mysql 的历史命令,例如:
57  mysql -u root -p
132 mysqladmin status
  1. 如果找到需要的命令,可以复制对应的命令编号并执行,例如:
!57

上述命令会执行编号 57 对应的命令 mysql -u root -p


方法 3:!!!<部分关键字>

  1. 如果想执行最近一次使用过的命令,直接输入:
!!

它会执行上一次的完整命令。

  1. 如果需要执行最近包含某个关键字的命令,可以使用:
!mysql

它会执行最近使用的包含关键字 mysql 的命令。


方法 4:配置更高级的搜索功能 (fzf)

如果你需要更高级的命令搜索和交互功能,可以安装 fzf(命令行模糊搜索工具)

安装 fzf

sudo apt install fzf        # Ubuntu/ Debian
sudo yum install fzf        # CentOS/ Fedora
brew install fzf            # macOS

使用:

  1. 按下 Ctrl + r(fzf 会替代原生命令历史搜索功能)。
  2. 它会展示所有历史命令,并支持模糊匹配搜索功能。
  3. 输入关键字即可快速筛选匹配的命令。
  4. 按下 Enter 执行选中的命令。

方法 5:使用 HISTTIMEFORMAT 查看时间戳

如果你还需要知道命令的执行时间,可以配置时间戳:

  1. 编辑 ~/.bashrc 文件并添加:
export HISTTIMEFORMAT="%F %T "
  1. 刷新配置:
source ~/.bashrc
  1. 再运行 history,你会看到带时间戳的历史记录,这样通过 grep 搜索时可以知道命令的执行时间。

总结

  • 快速临时查找命令:用 Ctrl + r
  • 查看所有相关命令:用 history | grep 关键字
  • 执行最近某命令:用 !关键字 或直接按编号 !编号
  • 如果频繁搜索历史命令,可以考虑安装 fzf 提升效率。


linux 操作命令中,如何通过关键字快速索引找到最近使用过的命令插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:http://www.choupangxia.com/2025/09/07/linux-history/