linux 操作命令中,如何通过关键字快速索引找到最近使用过的命令
在 Linux 命令行中,可以使用以下方法通过关键字快速索引最近使用过的命令:
方法 1:Ctrl + r – 反向查找命令
这是最常用的快捷方式,用于快速搜索命令历史。
- 按下 
Ctrl + r。 - 输入你想要搜索的关键字(例如 
mysql)。 - 命令行会实时显示匹配的最近命令。
 
(reverse-i-search)`mysql`: mysql -u root -p
- 如果找到你需要的命令,按下 
Enter执行该命令,或者按Ctrl + c取消。 
👉 搜索技巧:
- 如果多次按下 
Ctrl + r,它会继续向历史中查找匹配的结果。 - 要退出搜索模式,可以按下 
Ctrl + g。 
方法 2:history + grep
如果你想列出所有包含某个关键字的历史命令,可以使用 history 配合 grep 命令:
- 在终端中输入:
 
history | grep mysql
- 这会列出所有包含关键字 
mysql的历史命令,例如: 
57 mysql -u root -p 132 mysqladmin status
- 如果找到需要的命令,可以复制对应的命令编号并执行,例如:
 
!57
上述命令会执行编号 57 对应的命令 mysql -u root -p。
方法 3:!! 或 !<部分关键字>
- 如果想执行最近一次使用过的命令,直接输入:
 
!!
它会执行上一次的完整命令。
- 如果需要执行最近包含某个关键字的命令,可以使用:
 
!mysql
它会执行最近使用的包含关键字 mysql 的命令。
方法 4:配置更高级的搜索功能 (fzf)
如果你需要更高级的命令搜索和交互功能,可以安装 fzf(命令行模糊搜索工具)。
安装 fzf:
sudo apt install fzf # Ubuntu/ Debian sudo yum install fzf # CentOS/ Fedora brew install fzf # macOS
使用:
- 按下 
Ctrl + r(fzf 会替代原生命令历史搜索功能)。 - 它会展示所有历史命令,并支持模糊匹配搜索功能。
 - 输入关键字即可快速筛选匹配的命令。
 - 按下 Enter 执行选中的命令。
 
方法 5:使用 HISTTIMEFORMAT 查看时间戳
如果你还需要知道命令的执行时间,可以配置时间戳:
- 编辑 
~/.bashrc文件并添加: 
export HISTTIMEFORMAT="%F %T "
- 刷新配置:
 
source ~/.bashrc
- 再运行 
history,你会看到带时间戳的历史记录,这样通过grep搜索时可以知道命令的执行时间。 
总结
- 快速临时查找命令:用 
Ctrl + r。 - 查看所有相关命令:用 
history | grep 关键字。 - 执行最近某命令:用 
!关键字或直接按编号!编号。 - 如果频繁搜索历史命令,可以考虑安装 
fzf提升效率。 

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接