现代 CLI 工具腰带
fzf / ripgrep / lazygit / eza / Yazi / btop / delta / hyperfine / glow / ShellGPT — Rust + AI 重写的 Unix 工具链。
这个 pack 装了什么
Unix 工具链(grep / find / ls / top / diff / cat / time)是 TB 级硬盘还很稀奇时代设计的。现代替代品 —— 多数 Rust 写的 —— 通常快 5–20 倍,更聪明地尊重 .gitignore,默认值也更合理。这个 pack 收齐了 2026 年几乎每个资深工程师 ~/.zshrc 里都会出现的 10 个。
| 工具 | 替代 | 为什么装 |
|---|---|---|
| fzf | 反向搜索 / 文件选择器 | 任意行流的模糊搜索 —— 把 history / git branch / kill 管道进去 |
| ripgrep (rg) | grep | 快 5–20 倍,尊重 .gitignore,默认递归 |
| lazygit | git CLI 仪式感 | 完整 git 流程 TUI,3 键完成 commit/push/rebase |
| eza | ls | 颜色、图标、tree 模式、git 状态列 |
| Yazi | 文件管理器 | 异步 I/O、终端图片预览、插件体系 |
| btop | top / htop | GPU + 温度 + 每核心,UI 最干净 |
| delta | git diff | 语法高亮、并排、行号 |
| hyperfine | time / timeit | 带预热和 CSV 导出的统计基准 |
| glow | markdown 的 cat | 终端里渲染 markdown —— 不离 shell 读 README |
| ShellGPT (sgpt) | Stack Overflow | 自然语言 → shell 命令,安全模式有确认 |
为什么是 "Rust + AI 重写"
过去五年有两波重写 Unix CLI。Rust 那波(ripgrep / fzf 用 Go 但同精神 / eza / bat / fd)带来速度和现代默认值。AI 那波(ShellGPT / Warp / Claude Code 在终端里)在上面加了自然语言层。这个 pack 挑出的是幸存者 —— 在生产环境里新生代明显取代了老的,不是 HN 一时风光后消失的玩具。
一条命令装齐
tokrepo install pack/modern-cli-toolbelt
TokRepo CLI 会按你的 OS 调用合适的包管理器(macOS 用 brew / Linux 用 apt/dnf/pacman / Windows 用 winget),并写 shell 别名 —— alias grep=rg、alias ls='eza --git' —— 让肌肉记忆继续生效。
高杠杆 shell 别名
# 加到 ~/.zshrc 或 ~/.bashrc
alias ls='eza --icons --git'
alias ll='eza -lha --icons --git'
alias grep='rg'
alias cat='bat --paging=never'
alias top='btop'
alias df='duf'
# fzf 驱动的快捷
alias gco='git checkout $(git branch | fzf | tr -d "[:space:]")'
alias gkill='kill -9 $(ps -ef | fzf | awk "{print \$2}")'
这个 pack 不够用怎么办
如果在编排数据流水线 → 看 API 测试栈 里的 k6 和 Hurl。如果生活在 tmux/zellij → 看 Claude Code skill 生态里的 multiplexer skill。
10 个资产打包就绪
常见问题
这些工具会跟原版 Unix 工具冲突吗?
不会。没有一个会移除或修改原版(grep / ls / top 等)。TokRepo 安装把它们放在自己的名字下(rg / eza / btop),可选地写 opt-in 别名。如果你把 ls 别名到 eza 然后某个脚本因为 eza 输出格式不同挂了,把那个别名删掉就好 —— 原版 ls 还在。
我已经有 GNU coreutils 了,为啥还要换?
三个原因:(1) 速度 —— ripgrep 在大型 monorepo 上常常比 grep -r 快 10 倍。(2) 默认值 —— 现代工具尊重 .gitignore、用颜色、默认递归。(3) 组合性 —— fzf 把 任意 行流变成交互式选择器。一个工作日累计下来,体验差距相当显著。
ShellGPT 跟在终端里跑 Claude Code 比怎样?
ShellGPT 是单轮的:你问,它打一条命令。Claude Code 是完整 agent,能读文件、跑多步计划、改代码。ShellGPT 用于一次性 shell 咒语查询。Claude Code 用在任务需要读或改多个文件时。
这 10 个全是 Rust 写的吗?
多数是。具体语言:fzf(Go)/ ripgrep(Rust)/ lazygit(Go)/ eza(Rust)/ Yazi(Rust)/ btop(C++)/ delta(Rust)/ hyperfine(Rust)/ glow(Go)/ ShellGPT(Python)。「Rust + AI 重写」是讲精神 —— 速度、合理默认、现代 UX —— 不严格指语言。
这些工具在 Windows 上能用吗?
多数可以 —— 都发 Windows 二进制和 winget 包。例外是依赖 POSIX TTY 语义的(lazygit 和 Yazi 能跑,但在 WSL2 或真 Linux/Mac 终端体验更顺)。