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