现代命令行工具合集

🧰 现代命令行工具清单(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 扁平化

  • 典型组合:

    1
    
    gron data.json | rg key
    
  • 定位:让 JSON 能被 grep / rg 的工具


五、目录 / 文件结构 & 空间分析

🌲 tree

  • 用途:目录结构展示
  • 定位:结构可视化

📦 dust

  • 用途:磁盘占用分析
  • 定位:du 的现代替代

📁 dua

  • 用途:交互式磁盘空间分析
  • 定位:ncdu 的现代替代

📜 eza

  • 用途:目录列表

  • 特点:

    • Git 状态
    • 树形
  • 定位:ls 的现代替代(exa 后继)


六、系统 / 进程 / 性能

🧠 btop

  • 用途:系统资源监控

  • 能力:

    • CPU / 内存 / 网络 / 磁盘
  • 定位:top / htop 的现代终极形态


🧵 procs

  • 用途:进程查看
  • 定位:ps 的现代替代

hyperfine

  • 用途:命令 benchmark

  • 示例:

    1
    
    hyperfine "rg foo" "grep -R foo"
    
  • 定位:命令行性能测试工具


七、网络 / API / 后端调试

🌐 httpie

  • 用途:HTTP 客户端
  • 定位:给人用的 curl

xh

  • 用途:HTTP 客户端(Rust)
  • 定位:httpie 的高性能实现

📜 lnav

  • 用途:日志查看

  • 特点:

    • 自动识别时间
    • 支持 SQL 查询
  • 定位:日志分析神器


八、文本替换 / 自动化

sd

  • 用途:文本替换
  • 定位:sed 的现代替代

🔄 entr

  • 用途:文件变更触发命令

  • 示例:

    1
    
    fd .java | entr mvn test
    
  • 定位:最轻量的“监听器”


🛠 just

  • 用途:任务运行器
  • 定位:更简单的 make

九、效率型增强(强烈推荐)

🚀 zoxide

  • 用途:智能目录跳转

  • 示例:

    1
    
    z project
    
  • 定位:cd 的终极形态

updatedupdated2026-01-272026-01-27