终端生产力:10 个提升效率的命令行工具

引言

做了这么多年开发,我一直在打磨自己的终端工作流。一个好的命令行工具可以帮你节省大量重复性操作的时间。这篇文章分享我最常用的 10 个工具,每个都附有实际使用场景和配置建议。

这些工具都是跨平台的(Linux/macOS/Windows via WSL),唯一的要求是你已经习惯了终端操作。

1. fd — 比 find 快 10 倍的文件搜索

fdfind 命令的现代替代品。它默认使用正则表达式,自动忽略 .gitignore 中的文件,并且输出带颜色。

# 搜索所有 markdown 文件
fd .md

# 在特定目录中搜索
fd pattern /path/to/search

# 搜索特定扩展名
fd -e py -e js

# 执行命令
fd -e jpg -x convert {} {.}.png

2. ripgrep (rg) — 史上最快的代码搜索

如果你还在用 grep -r,是时候换 rg 了。它默认递归搜索、自动跳过 .gitignore 文件、支持正则表达式,而且速度极快。

# 搜索关键字,显示行号
rg "TODO|FIXME"

# 只搜索 .ts 文件
rg -t ts "import.*from"

# 显示上下文
rg -C 3 "func main"

# 只显示文件列表
rg -l "pattern"

3. bat — 带语法高亮的 cat

batcat 的增强版。它内置语法高亮、显示行号、支持 Git 变更标记,并且可以与管道无缝协作。

# 查看文件(自动检测语言)
bat config.json

# 显示所有语言列表
bat --list-languages

# 作为 cat 使用(不带动画)
bat --plain file.txt

# 与 less 配合
bat file.go | less -RF

4. zoxide — 智能目录跳转

zoxide 学习你的目录访问模式,让你用最短的次数跳转到最常去的目录。

# 跳转到匹配的目录
z blog
# 等价于 cd ~/projects/my-blog

# 交互式选择(需要 fzf)
zi

# 列出高频目录
zoxide query -l

5. fzf — 通用模糊搜索

fzf 是一个通用命令行模糊查找器。它可以与任何列表形式的数据配合使用。

# 交互式文件搜索(替代 Ctrl+R)
vim **<TAB>

# Git 分支快速切换
git branch | fzf | xargs git checkout

# 杀进程
ps aux | fzf | awk '{print $2}' | xargs kill

6. lazygit — 终端 Git 客户端

如果你觉得命令行 Git 太繁琐,但又不想用 GUI,lazygit 是完美的中间方案。它在终端中提供了直观的 TUI 界面。

个人体验:用了 lazygit 之后,git add / git commit / git rebase 等操作效率提升了至少 3 倍。

7. tldr — 更友好的 man 手册

tldr 为常用命令提供简洁的示例说明,而不是冗长的 man page。

# 查看 tar 的常见用法
tldr tar

# 输出示例:
# tar
# 归档工具。
# - 创建归档:   tar cf target.tar file1 file2 file3
# - 解压归档:   tar xf source.tar
# - 创建 gzip:  tar czf target.tar.gz file1 file2

8. httpie — 更人性化的 curl

httpie 让 HTTP 请求的发送和响应查看变得直观。

# GET 请求
http https://api.github.com

# POST JSON
http POST https://api.example.com/users name=John email=john@example.com

# 带认证头
http GET https://api.example.com/protected Authorization:"Bearer token123"

9. jq — JSON 命令行处理器

如果你经常处理 JSON 数据,jq 是必不可少的工具。

# 格式化 JSON
cat data.json | jq '.'

# 提取特定字段
jq '.name' data.json

# 复杂查询
curl -s https://api.github.com/repos/jqlang/jq/commits | \
  jq '[.[] | {sha: .sha[0:7], author: .commit.author.name}]'

10. duf / ncdu — 磁盘空间分析

duf 提供磁盘使用率的概览视图,而 ncdu 则进入交互式模式让你逐层探索磁盘占用。

# duf - 概览所有挂载点
duf

# ncdu - 交互式浏览
ncdu /home

快速安装指南

工具 brew (macOS) apt (Debian) 其他方式
fd brew install fd apt install fd-find GitHub Release
ripgrep brew install ripgrep apt install ripgrep cargo install
bat brew install bat apt install bat GitHub Release
zoxide brew install zoxide apt install zoxide curl 安装
fzf brew install fzf apt install fzf Git 克隆
lazygit brew install lazygit go install

总结

这 10 个工具基本覆盖了日常开发中文件搜索、代码搜索、文件查看、目录导航、模糊搜索、Git 操作、文档查询、API 调试、JSON 处理和磁盘管理等高频场景。给它们一周的适应时间,你很快就会发现自己再也回不去了。