2026年开发者必备的10个命令行工具,效率翻倍不是吹的

王尘宇 工具资源 25

现在用终端写代码的人越来越多了。VSCode固然好,但总有那么一些场景——连服务器、查日志、翻项目目录——你只能用命令行。用自带的cd、cat、grep也不是不行,但体验大概相当于骑共享单车去跑马拉松:能到,累。

下面这10个工具是我日常在用的,每个都给安装命令和真实使用场景。全装当然最好,但说实话,先装前3个你的终端体验就完全不一样了。

1. zoxide — 智能跳转,cd可以退休了

你肯定遇到过这种情况:cd到一个深目录,过两天再想去,已经忘了路径。zoxide会记录你的访问频率和最近时间,自动加权排序。

# 安装
curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh

它的z命令是cd的智能替代。举个例子:三个月前你在~/projects/my-big-app/backend/src/services里改过代码,现在想回去,不用翻cd历史了,直接z proj(只要你输过projects)或者z bac ser(模糊匹配backend和services),它就自动跳过去。

用了zoxide之后我才意识到以前每次cd进项目目录花的时间加起来有多夸张。这东西属于那种「装完就回不去」的类型。

2. fzf — 模糊搜索一切

fzf是一个通用的模糊搜索工具,跟什么都能组合:搜文件、搜历史命令、搜git分支、搜进程id。

# Ubuntu/Debian
sudo apt install fzf
# macOS
brew install fzf

最常用的三个场景:

  • Ctrl+R搜历史命令:比系统自带的ctrl-r好用太多,输入ssh直接列出所有ssh过的服务器,上下键选就行
  • Ctrl+T搜文件:在深目录里找文件,打几个字母就出来
  • git branch | fzf:项目有一百多个分支的时候,fzf搜一下秒切

关键是不用记完整名字,打几个字母就行,匹配逻辑很聪明。

3. bat — cat带语法高亮

cat看代码文件就是一坨黑白的,bat自带语法高亮、行号、Git diff标记(改动过的行旁边有小标记)。

# Ubuntu/Debian
sudo apt install bat
# macOS
brew install bat
# 注意:Ubuntu旧版本装完后命令可能是batcat

比如你在服务器上快速看nginx配置:bat /etc/nginx/nginx.conf,所有注释是灰色的,directive是高亮的,一眼就知道哪里配了什么。比cat不知道强到哪里去了。而且它自动分页,文件太长不会刷屏。

4. ripgrep (rg) — 比grep快一个数量级

ripgrep是用Rust写的,天生快。在一个10万行代码的项目里搜一个字符串,grep可能要半秒,rg基本是瞬间出结果。

# Ubuntu/Debian
sudo apt install ripgrep
# macOS
brew install ripgrep

真实场景:线上报了个bug,你知道日志里有个"timeout"关键字,但不知道在哪个文件里。用rg timeout /var/log/myapp/,一秒内所有相关日志行全列出来,文件名+行号标得清清楚楚。

而且rg默认就忽略.gitignore里的文件,搜代码目录不用额外加--exclude。

5. fd — find替代品,命令短一半

find的语法真的很反人类。fd是find的现代化替代,命令更短,默认忽略.gitignore和隐藏文件。

# Ubuntu/Debian
sudo apt install fd-find
# macOS
brew install fd

对比一下就知道了:

  • find当前目录所有.js文件:find . -name "*.js"
  • fd版本:fd '\.js$' 或者直接 fd -e js

找最近7天修改过的Python文件?fd -e py --changed-within 7d。语法比find直观太多了。

6. jq — JSON处理的瑞士军刀

调API返回JSON,curl出来一大坨挤在一起,根本看不清。jq就是干这个的:格式化、过滤、转换。

# 几乎所有包管理器都有
sudo apt install jq
brew install jq

实际场景非常多:

  • 从API返回里只取字段:curl -s api.example.com/users | jq '.data[].name'
  • 统计数组长度:jq '.items | length' data.json
  • 把一个超大JSON里嵌套三层的数据提取出来,一行命令搞定

我们团队后来写CI脚本,凡是涉及JSON输出的,统一用jq处理。不用临时写Python脚本解析,shell管道直接搞定。

7. tldr — man的简化版,直接给例子

man page通常是这样的:先来50行选项说明,然后30行环境变量,最后5行authorname。你真正想要的——这个命令到底怎么用——埋在一堆文字中间。

tldr只给常用例子。

npm install -g tldr
# 或
sudo apt install tldr

试一下:tldr tar。输出不是man page那种几百行,而是直接告诉你:解压用tar xvf file.tar,创建gz压缩用tar czvf file.tar.gz dir/。每个命令就五六行例子,够用了。

这个工具救了我无数次,特别是那些不常用的命令(比如ffmpeg转码参数),每次都是tldr一把梭。

8. lazygit — 终端里的Git GUI

会用git命令不代表你享受那个过程。lazygit给你一个终端里的交互界面,commit、push、rebase、stash全部可视化操作。

# 推荐用go装,版本最新
go install github.com/jesseduffield/lazygit@latest
# 或者各平台包管理器
brew install lazygit
sudo apt install lazygit

在工作目录里直接打lazygit回车,出来一个界面:左边是文件变更列表,右边是diff,按空格暂存,按c写commit信息,按P push。rebase和cherry-pick这种平时要查命令的操作,在lazygit里直接选commit按r就搞定。

我一开始觉得用CLI就够了,装完lazygit第二天就把git的alias全删了。是真的方便。

9. httpie — curl的替代品,API调试友好

curl功能强大,但语法太啰嗦。httpie的输出自带高亮和格式化。

# Ubuntu/Debian
sudo apt install httpie
# macOS
brew install httpie

发一个POST请求对比一下:

  • curl:curl -X POST -H "Content-Type: application/json" -d '{"name":"test"}' api.example.com
  • httpie:http POST api.example.com name=test

返回的JSON自动格式化高亮,header也用颜色区分了。调试REST API的时候效率高很多。

10. delta — git diff可视化

git自带的diff是那种红绿加减号的格式,看改动其实挺累的。delta给diff加了语法高亮、行号、side-by-side视图。

# 各平台都有
brew install git-delta
sudo apt install git-delta
# 安装后在~/.gitconfig加:
# [core]
#     pager = delta
# [interactive]
#     diffFilter = delta --color-only

配好之后git diff输出就像GitHub的diff界面一样:左边旧代码、右边新代码,改动的单词高亮,行号对齐。看code review的时候尤其好用——一眼就知道同事到底改了什么。

---

说了这么多,你不用全装。我的建议:先装zoxide、fzf、bat这三个。然后就正常用终端——三天之内你会发现自己再也回不去了。剩下的按需来:经常搜代码就装rg和fd,经常调API就装jq和httpie,git用得多的上lazygit和delta。

以上都是2026年还在活跃维护的项目,不用担心装了过几个月就没人管。有哪个装完觉得不好用的,欢迎回来骂我。

标签: 命令行 开发工具 效率工具

发布评论 0条评论)

  • Refresh code

还木有评论哦,快来抢沙发吧~