2026年 GitHub 热门 CLI 工具推荐:fzf、zoxide 与 eza

2026年 GitHub 热门 CLI 工具推荐:fzf、zoxide 与 eza

Author: zhiqiu16 | Create: 2026-09-05 14:37:23 | Update: 2026-09-05 14:40:02 | 分类:MCP & CLI

githubcli工具命令行

2026年 GitHub 热门 CLI 工具推荐:fzf、zoxide 与 eza

引言

在 GUI 大行其道的今天,命令行界面(CLI)依然是开发者最高效的工作阵地。一个好的 CLI 工具能够显著提升日常开发效率,让繁琐的操作变得行云流水。2026年,GitHub 上涌现出一批用 Rust、Go 等现代语言编写的高性能 CLI 工具,它们正在悄然改变终端用户的工作方式。

本文将介绍三个在 GitHub 上获得极高人气的命令行增强工具:fzf(模糊搜索神器)、zoxide(智能目录跳转)和 eza(现代化文件列表)。这三个工具各有所长,但共同的特点是:安装简单、上手容易、一旦用上就再也回不去。


工具一:fzf — 命令行模糊搜索神器

项目概览

  • 项目名称:fzf
  • GitHub 地址github.com/junegunn/fzf
  • Star 数:约 80,000+
  • 开发语言:Go
  • 开源协议:MIT
  • 最新更新:2026年8月仍在活跃维护

fzf 是一个通用的命令行模糊搜索器(fuzzy finder)。它本身是一个 Unix 哲学的"只做一件事并做好"的工具——接收文本列表输入,让用户通过模糊匹配交互式筛选,然后输出选中的结果。但正是这种简洁的设计,让 fzf 可以与几乎任何命令行工具组合,创造出无限的可能。

核心功能

1. 极速模糊匹配算法

fzf 的核心是一个高效的模糊匹配算法。它支持: - 模糊匹配:输入 "fzf" 可以匹配 "fuzzy-finder" - 精确匹配:用单引号前缀('exact)进行精确子串匹配 - 前缀/后缀匹配:用 ^$ 锚定开头或结尾 - 反向匹配:用 ! 前缀排除匹配项 - 组合模式:可以用空格分隔多个搜索条件

搜索速度极快,即使面对几万条记录也能实时响应,这得益于 Go 语言的高性能实现。

2. 丰富的交互功能

fzf 提供了丰富的交互式操作: - 实时预览(preview window):可以在搜索时显示文件内容、git diff 等 - 多选模式:按 Tab 键可以选择多个条目 - 键绑定:支持自定义各种操作的快捷键 - 鼠标支持:在支持的终端中可以用鼠标点击选择

3. 开箱即用的集成

fzf 自带了与 shell 的深度集成: - Ctrl+R:搜索命令历史(替代传统的反向搜索) - Ctrl+T:搜索当前目录下的文件并粘贴路径 - Alt+C:搜索目录并直接 cd 进去 - vim 插件:在 Vim/Neovim 中使用 fzf 进行文件搜索、缓冲区切换等

这些集成让 fzf 几乎是"安装即用",不需要复杂的配置就能立刻提升效率。

安装方式

macOS(Homebrew)

brew install fzf
# 安装 shell 键绑定和补全
$(brew --prefix)/opt/fzf/install

Ubuntu/Debian

sudo apt install fzf

使用 Git 安装(最新版本)

git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

安装完成后,重启终端即可使用 Ctrl+R、Ctrl+T、Alt+C 等快捷键。

使用示例

1. 搜索文件并打开

# 用 vim 打开选中的文件
vim $(fzf)

2. 搜索并切换 Git 分支

git checkout $(git branch | fzf | tr -d ' *')

3. 搜索进程并 kill

kill -9 $(ps aux | fzf | awk '{print $2}')

4. 带预览的文件搜索

fzf --preview 'cat {}'

5. 与 fd 配合(更现代的 find)

export FZF_DEFAULT_COMMAND='fd --type f'

适用场景

fzf 的应用场景几乎是无限的,以下是一些典型场景:

  • 文件快速定位:在大型项目中快速找到并打开文件
  • 命令历史搜索:比默认的 Ctrl+R 强大得多的历史命令搜索
  • Git 操作:切换分支、查看 commit、挑选 stash
  • 进程管理:快速查找并管理进程
  • Docker 操作:选择容器/镜像进行操作
  • 任何列表筛选:只要能输出列表的命令,都可以用 fzf 来筛选

工具二:zoxide — 智能目录跳转工具

项目概览

  • 项目名称:zoxide
  • GitHub 地址github.com/ajeetdsouza/zoxide
  • Star 数:约 39,000+
  • 开发语言:Rust
  • 开源协议:MIT
  • 最新版本:v0.10.x(2026年7月更新)
  • 支持平台:macOS、Linux、Windows

zoxide 是一个更智能的 cd 命令。它会"记住"你访问过的目录,并根据访问频率和最近度(frecency 算法)进行排序,让你只需输入几个字母就能跳转到目标目录。

如果你用过 z.sh、autojump 或 fasd,那么 zoxide 可以看作是它们的现代化版本——用 Rust 重写,速度更快,功能更完善,维护更活跃。

核心功能

1. Frecency 排序算法

zoxide 的核心是 frecency(frequency + recency)算法。它综合考虑两个因素: - 频率(Frequency):目录被访问的次数越多,排名越高 - 最近度(Recency):最近访问过的目录排名会提升

这意味着 zoxide 的跳转建议会随着你的使用习惯自动调整,越用越顺手。

2. 交互式选择(z -i)

当搜索结果有多个匹配时,可以使用交互式模式:

z -i proj

这会打开一个类似 fzf 的选择界面(如果安装了 fzf 会自动使用 fzf),让你在多个匹配结果中选择。

3. 子目录跳转(zi)

除了全局跳转,zoxide 还支持子目录搜索:

zi  # 在当前目录的子目录中搜索并跳转

这在深层目录结构中特别有用。

4. 多 Shell 支持

zoxide 支持几乎所有主流 shell: - bash - zsh - fish - PowerShell - Nushell - xonsh

而且配置方式非常简单,通常只需要一行初始化代码。

5. 跨平台同步

zoxide 的数据库是一个简单的文本文件,可以通过云盘(Dropbox、iCloud 等)在多台设备间同步,让你的目录访问习惯随身而行。

安装方式

macOS(Homebrew)

brew install zoxide

Ubuntu/Debian

sudo apt install zoxide

Windows(winget)

winget install ajeetdsouza.zoxide

一键安装脚本

curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash

Shell 配置(以 zsh 为例,在 ~/.zshrc 中添加):

eval "$(zoxide init zsh)"

重启 shell 后,你就拥有了一个更聪明的 cd

使用示例

1. 基本跳转

# 跳转到名字包含 "project" 的最常访问目录
z project

# 跳转到名字包含 "foo" 和 "bar" 的目录
z foo bar

2. 交互式选择

# 当有多个匹配时,交互式选择
z -i docs

3. 子目录搜索

# 在当前目录的子目录中搜索
zi src

4. 查看排名

# 查看所有记录的目录及其排名
zoxide query -l | head -20

5. 与 fzf 集成

安装 fzf 后,z -i 会自动使用 fzf 作为选择器,体验更流畅。

适用场景

  • 深度目录导航:当项目目录层级很深时,不用再一层层 cd
  • 多项目切换:在多个项目之间快速跳转
  • 减少记忆负担:不用记住完整的目录路径,输入几个字母就行
  • 提升终端流畅度:目录跳转从"思考路径"变成"肌肉记忆"

工具三:eza — 现代化的 ls 替代品

项目概览

  • 项目名称:eza
  • GitHub 地址github.com/eza-community/eza
  • Star 数:约 23,000+
  • 开发语言:Rust
  • 开源协议:EUPL-1.2
  • 最新版本:v0.23.x(2026年7月更新)
  • 定位:ls 的现代化、社区维护替代品

eza 是传统 ls 命令的现代替代品。它在保持 ls 基本用法的同时,增加了大量实用功能和更友好的默认显示效果。eza 是 exa 项目的社区维护分支,继承了 exa 的所有优点,同时修复了一些问题并持续活跃开发。

核心功能

1. 彩色输出与图标

eza 默认就会用颜色区分不同类型的文件: - 目录:不同的颜色 - 可执行文件:醒目的颜色 - 符号链接:特殊标记 - 压缩包、图片、文档等:各有颜色

配合 Nerd Font 字体,还能显示文件类型图标,让目录结构一目了然。

2. Git 状态集成

这是 eza 最实用的功能之一。在 Git 仓库中使用 eza 时,它会在文件名旁边显示 Git 状态标记: - N:新文件(New) - M:已修改(Modified) - D:已删除(Deleted) - R:已重命名(Renamed) - 等等

这样你不用输入 git status 就能快速了解哪些文件有变动。

3. 树状视图

eza 内置了类似 tree 命令的功能:

eza --tree --level=2

可以替代单独的 tree 命令,而且输出更美观。

4. 丰富的元数据显示

eza 可以显示各种文件元数据: - 文件大小(人类可读格式) - 权限位 - 所有者和组 - 修改时间、访问时间、创建时间 - inode 号 - 块数 - 扩展属性

5. 灵活的排序和筛选

  • 按名称、大小、时间、版本等排序
  • 支持 . 开头的隐藏文件显示控制
  • 支持按文件类型筛选

安装方式

macOS(Homebrew)

brew install eza

Ubuntu/Debian

sudo apt install eza

Windows(winget)

winget install eza-community.eza

Cargo(Rust 包管理器)

cargo install eza

使用示例

1. 基本使用(替代 ls)

# 列出当前目录文件
eza

# 显示详细信息
eza -l

# 显示所有文件(包括隐藏文件)
eza -la

2. 显示 Git 状态

eza -l --git

3. 树状视图

# 显示 2 层深度的目录树
eza --tree --level=2

# 树状视图 + 详细信息 + Git 状态
eza -l --tree --git --level=2

4. 带图标显示

# 需要安装 Nerd Font 字体
eza --icons

5. 排序选项

# 按大小排序(最大的在前)
eza -l -s size -r

# 按修改时间排序(最新的在前)
eza -l -s modified -r

常用别名配置(推荐加入 ~/.zshrc 或 ~/.bashrc):

alias ls="eza --icons"
alias ll="eza -l --icons --git"
alias la="eza -la --icons --git"
alias lt="eza --tree --level=2 --icons --git"

适用场景

  • 日常目录浏览:替代 ls,获得更好的视觉体验
  • Git 项目开发:一眼看出哪些文件被修改了
  • 代码审查前检查:快速查看项目结构和文件状态
  • 终端美化:让你的终端看起来更专业、更现代

总结

fzf、zoxide 和 eza 这三个工具虽然功能各异,但它们有一个共同点:都是对传统命令行体验的现代化升级。它们不追求颠覆式的创新,而是在大家每天都在用的场景上,做到更快、更好、更顺手。

工具 替代对象 核心价值 Star 数 语言
fzf Ctrl+R / find / grep 交互式模糊搜索,万物皆可筛选 ~80k Go
zoxide cd 智能目录跳转,越用越懂你 ~39k Rust
eza ls 彩色图标 + Git 状态的文件列表 ~23k Rust

组合使用,效率翻倍

这三个工具并不是互斥的,恰恰相反,它们组合使用能发挥出更大的威力:

  1. zoxide + fzf:用 z -i 进行交互式目录跳转,在多个匹配结果中精准选择
  2. eza + fzf:用 fzf 筛选文件,选中后用 eza 查看详情
  3. 三者联动:用 zoxide 跳转到项目目录,用 eza 浏览文件结构,用 fzf 快速定位并打开文件

为什么推荐这三个工具

  1. 学习成本低:每个工具的核心用法几分钟就能掌握
  2. 性能优秀:Go 和 Rust 编写,启动速度极快,不拖慢终端
  3. 社区活跃:三个项目都在持续更新,Issue 响应及时
  4. 跨平台:macOS、Linux、Windows 全支持
  5. 不破坏原有习惯:它们都是"增强"而非"替代",原来的命令依然可用

如果你是终端重度用户,这三个工具绝对值得花 10 分钟安装配置。它们带来的效率提升可能不会让你立刻察觉,但用一段时间后再回去用原始的命令——你会发现已经回不去了。

终端效率的提升往往来自这些"小而美"的工具积累。今天就从这三个开始,打造属于你的高效终端环境吧。

评论(0)

暂无评论,来抢沙发~


关于本站 · RSS

浙ICP备2025156991号浙公网安备33010802013816号 浙公网安备33010802013816号 © 2026 智能体工场 - [从善如登] All rights reserved.