🧰 现代命令行工具清单(Developer-Oriented)
一套围绕 搜索 / 阅读 / Git / JSON / 性能 / TUI 打造的现代 CLI 工作流 多数工具由 Rust / Go 编写,速度快、体验好、AI 时代非常友好
一、文件 / 内容搜索(核心三件套)
🔍 ripgrep(rg)
-
用途:全文搜索
-
特点:
- 极快(Rust)
- 默认递归、自动忽略
.gitignore - 正则友好
-
定位:
grep的现代完全替代
📂 fd
-
用途:文件 / 目录查找
-
特点:
- 模糊匹配
- 默认递归、忽略隐藏文件
-
Debian 下命令名是
fdfind -
定位:
find的现代替代
🎯 fzf
-
用途:模糊交互选择器
-
特点:
- 可作为“管道 UI”
- 和 fd / rg / git 天然适配
-
定位:现代 CLI 的“交互引擎”
二、代码阅读 / 查看 / 统计
📄 bat
-
用途:文件查看
-
特点:
- 语法高亮
- Git diff 高亮
- 行号、分页友好
-
定位:
cat的现代替代
🏷 ctags(推荐 universal-ctags)
-
用途:代码索引 / 跳转
-
支持语言:
- C / C++
- Java
- Go
- Python
- JavaScript / TypeScript
- Rust
- Shell / Lua / Ruby / PHP 等
-
定位:IDE 之外的“代码结构地图”
📊 cloc
-
用途:代码行数统计
-
特点:
- 成熟稳定
- 语言识别准确
-
定位:项目规模 & 代码结构统计工具
虽然偏传统,但非常可靠
⚡ tokei
-
用途:代码行数统计(现代版)
-
特点:
- Rust 实现
- 速度极快
-
定位:
cloc的性能向替代
三、Git 生态增强
🌳 git
- 不解释,现代开发的空气
🧩 lazygit
-
用途:TUI Git 客户端
-
能力:
- commit / rebase / stash
- diff / blame / cherry-pick
-
定位:终端党的 Git IDE
🎨 delta
-
用途:Git diff 高亮
-
特点:
- 行内 diff
- 和 bat 风格统一
-
定位:更好看的
git diff
四、JSON / YAML / 数据处理
🧪 jq
-
用途:JSON 处理
-
能力:
- 查询 / 过滤 / 变换
-
定位:JSON 的瑞士军刀
🧬 yq
- 用途:YAML 处理
- 定位:YAML 世界的 jq
🧱 gron
-
用途:JSON 扁平化
-
典型组合:
1gron data.json | rg key -
定位:让 JSON 能被 grep / rg 的工具
五、目录 / 文件结构 & 空间分析
🌲 tree
- 用途:目录结构展示
- 定位:结构可视化
📦 dust
- 用途:磁盘占用分析
- 定位:
du的现代替代
📁 dua
- 用途:交互式磁盘空间分析
- 定位:ncdu 的现代替代
📜 eza
-
用途:目录列表
-
特点:
- Git 状态
- 树形
-
定位:
ls的现代替代(exa 后继)
六、系统 / 进程 / 性能
🧠 btop
-
用途:系统资源监控
-
能力:
- CPU / 内存 / 网络 / 磁盘
-
定位:
top / htop的现代终极形态
🧵 procs
- 用途:进程查看
- 定位:
ps的现代替代
⏱ hyperfine
-
用途:命令 benchmark
-
示例:
1hyperfine "rg foo" "grep -R foo" -
定位:命令行性能测试工具
七、网络 / API / 后端调试
🌐 httpie
- 用途:HTTP 客户端
- 定位:给人用的 curl
⚡ xh
- 用途:HTTP 客户端(Rust)
- 定位:httpie 的高性能实现
📜 lnav
-
用途:日志查看
-
特点:
- 自动识别时间
- 支持 SQL 查询
-
定位:日志分析神器
八、文本替换 / 自动化
✂ sd
- 用途:文本替换
- 定位:
sed的现代替代
🔄 entr
-
用途:文件变更触发命令
-
示例:
1fd .java | entr mvn test -
定位:最轻量的“监听器”
🛠 just
- 用途:任务运行器
- 定位:更简单的 make
九、效率型增强(强烈推荐)
🚀 zoxide
-
用途:智能目录跳转
-
示例:
1z project -
定位:
cd的终极形态