几个用顺了就再也回不去的命令行工具

工具2026-06-15
换电脑或者重装系统最烦的不是装系统本身,是把环境重新配一遍。每次我都会先装下面这几个,因为日常操作已经形成肌肉记忆了,没有它们敲命令会很难受。 fzf — 模糊搜索,不只是搜文件 最常用的场景是 Ctrl+R 搜历史命令。以前都是按向上键一下下翻,或者用 history | grep,慢得要死。fzf 绑到 Ctrl+R 之后,敲几个字母,最近用过的相关命令就出来了,选一个回车,丝滑得不行。还有 Ctrl+T 搜当前目录文件、vim ** 然后 Tab 选文件,全是高频操作。 ripgrep (rg) — 快到让你怀疑 grep 是不是坏掉了 在项目里搜一个关键词,grep -r 要等半天,rg 基本上是瞬出。默认忽略 node_modules、.git 这些,输出还有语法高亮。基本替换了我在终端里 90% 的搜索需求。 fd — find 的替代品 find 那个语法我永远记不住,每次都要查手册。fd 就简单多了:fd 'pattern' 就行了。默认也是忽略 node_modules 和 .gitignore 里的东西。找文件基本不用动脑。 bat — cat 但是好看 其实就是带语法高亮和行号的 cat。但好看这件事是有实际价值的——看配置文件的时候终于不用眯着眼找了。配合 fzf 的预览窗口更明显:fzf --preview 'bat --color=always {}'。 jq — 处理 JSON 的神器 后端接口返回一大坨 JSON,用 jq 一行命令就能提取你关心的字段。比如 curl 一个 API 然后 | jq '.data[].title'。以前我甚至会把 JSON 贴到编辑器里手动看,现在想想真是浪费时间。 zoxide — 比 cd 聪明一点的跳转 它会记录你常去的目录,然后 z <模糊匹配> 就跳过去了。比如我在好几个项目目录之间切换,敲 z note 就能到 notebook-server,z front 就能到 frontend 目录。不需要记完整路径。 这些工具都有一个共同点:它们解决的问题特别小,但那个小问题是每天出现几十次的。把它解决了,一整天的体验都会不一样。这大概是工具选择的最高原则——不是功能最多的那个,是出现在你路径上最频繁的那个。