2026 年 GitHub 热门 CLI 工具推荐:fzf、lazygit 与 lazydocker
引言
在 GUI(图形用户界面)大行其道的今天,CLI(命令行界面)工具不仅没有衰落,反而焕发了新的生机。现代 CLI 工具普遍采用 Rust、Go 等高性能语言编写,在保持轻量和高效的同时,提供了更友好的交互体验和更强大的功能。对于开发者和运维人员来说,掌握几款优秀的命令行工具,往往能让工作效率提升数倍。今天我们就来介绍三款在 GitHub 上广受欢迎的 CLI 工具:fzf、lazygit 和 lazydocker。
工具一:fzf —— 命令行模糊查找神器
工具概览
- 工具名称:fzf (fuzzy finder)
- GitHub 地址:https://github.com/junegunn/fzf
- Star 数:约 8.2 万
- 开发语言:Go
- 开源协议:MIT
fzf 是一个通用的命令行模糊查找工具,它可以对任何列表进行实时模糊搜索——文件、命令历史、进程、Git 分支……只要是能列出的东西,fzf 都能帮你快速定位。它的速度极快,交互流畅,几乎已经成为「命令行效率提升」的代名词。
核心功能
-
极速模糊匹配:采用 Go 语言编写,匹配算法经过深度优化,即便是几十万条记录也能做到实时响应。
-
交互式选择界面:提供了一个可交互的终端 UI,支持实时预览、上下键选择、多选模式等操作。
-
灵活的输入输出:既可以从标准输入(stdin)接收数据,也可以内置文件查找功能,查找结果可以输出到标准输出(stdout)供其他命令使用。
-
预览窗口:支持在侧边栏实时预览选中的文件内容,配合
bat、exa等工具效果更佳。 -
丰富的集成:与 Vim/Neovim、Tmux、Zsh、Bash 等工具深度集成,几乎可以嵌入任何命令行工作流。
安装方式
使用 Homebrew(macOS / Linux):
brew install fzf
# 安装键绑定和模糊补全(推荐)
$(brew --prefix)/opt/fzf/install
使用 Git 安装:
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install
Windows(使用 Chocolatey):
choco install fzf
使用示例
1. 快速切换目录(配合 zsh 键绑定):
按 Ctrl+T 触发文件查找,选中后直接插入到命令行中。
2. 搜索命令历史:
按 Ctrl+R 打开历史命令模糊搜索,比传统的 history | grep 高效得多。
3. 模糊查找并打开文件:
# 配合 vim 使用
vim $(fzf)
# 带预览窗口
fzf --preview 'cat {}'
4. 多选删除文件:
# 按 Tab 多选,然后批量删除
fzf -m | xargs rm
5. 切换 Git 分支:
git checkout $(git branch | fzf | tr -d '[:space:]')
适用场景
- 当你记不清完整文件名,只记得几个字母时
- 在大量历史命令中快速找回那条「昨天刚用过」的指令
- 配合脚本实现交互式菜单选择
- 任何需要从列表中快速定位条目的场景
工具二:lazygit —— Git 操作的终端 UI 利器
工具概览
- 工具名称:lazygit
- GitHub 地址:https://github.com/jesseduffield/lazygit
- Star 数:约 5 万+
- 开发语言:Go
- 开源协议:MIT
lazygit 是一个基于终端的 Git 图形化界面工具。它把 Git 最常用的操作都封装成了可视化的界面,用键盘快捷键就能完成几乎所有 Git 操作,让你不用再死记硬背各种复杂的 Git 命令。
核心功能
-
可视化暂存区:可以直观地看到哪些文件被修改了,逐行查看 diff,选择性地暂存部分代码(hunk staging)。
-
交互式变基:用图形化界面完成交互式 rebase,拖拽调整 commit 顺序,再也不用跟
git rebase -i的神秘指令较劲。 -
分支管理:创建、切换、删除、合并分支,所有操作一目了然。
-
Stash 管理:查看、应用、删除 stash,还能看到每个 stash 里具体改了什么。
-
提交历史图谱:以图形化方式展示提交历史,清晰看到分支合并和分叉的脉络。
-
Cherry-pick:可视化选择 commit 进行 cherry-pick 操作。
-
冲突解决:合并冲突时可以直观地看到冲突文件,并调用你配置的合并工具来解决。
安装方式
Homebrew:
brew install lazygit
Arch Linux:
sudo pacman -S lazygit
Fedora:
sudo dnf install lazygit
Windows(Scoop):
scoop install lazygit
手动安装(Linux):
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
使用示例
在任意 Git 仓库目录下输入:
lazygit
进入界面后,常用快捷键:
- 1/2/3/4/5 —— 切换面板(Status、Files、Branches、Commits、Stash)
- 空格 —— 暂存/取消暂存文件
- c —— 提交
- P —— push
- p —— pull
- b —— 查看分支
- ? —— 查看所有快捷键帮助
适用场景
- Git 新手:降低学习曲线,直观理解 Git 的各种概念
- 频繁操作 Git 的开发者:比敲命令更快,尤其是复杂操作
- 代码 Review:逐行查看改动、选择性暂存非常方便
- 复杂的 Git 操作:交互式 rebase、cherry-pick 等场景
工具三:lazydocker —— Docker 容器管理的终端仪表盘
工具概览
- 工具名称:lazydocker
- GitHub 地址:https://github.com/jesseduffield/lazydocker
- Star 数:约 5 万
- 开发语言:Go
- 开源协议:MIT
lazydocker 是 lazygit 的兄弟项目,同样出自开发者 jesseduffield 之手。它是一个基于终端的 Docker 和 Docker Compose 管理工具,把容器、镜像、卷、服务等所有 Docker 资源集中在一个界面里管理,堪称 Docker 用户的瑞士军刀。
核心功能
-
容器全生命周期管理:启动、停止、重启、删除容器,查看容器状态和资源占用。
-
Docker Compose 支持:识别当前目录下的 docker-compose.yml,可以一键启动/停止整个服务栈。
-
实时日志查看:带搜索和过滤功能的实时日志流,比
docker logs -f好用太多。 -
资源监控:显示每个容器的 CPU、内存、网络 IO 等资源使用情况。
-
镜像和卷管理:查看、拉取、删除镜像,管理数据卷。
-
快速进入容器:一键 exec 进入容器内部,不用再手动敲
docker exec -it xxx bash。 -
自定义命令:支持自定义快捷键执行常用的 Docker 命令。
安装方式
Homebrew:
brew install lazydocker
Arch Linux:
sudo pacman -S lazydocker
手动安装:
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash
Docker 方式运行:
docker run --rm -it -v /var/run/docker.sock:/var/run/docker.sock lazyteam/lazydocker
使用示例
在任何目录下输入即可启动:
lazydocker
如果当前目录有 docker-compose.yml,lazydocker 会自动识别并展示 Compose 服务视图。
常用操作:
- 选中容器后按 l 查看日志
- 按 s 启动/停止容器
- 按 r 重启容器
- 按 d 删除容器
- 按 e exec 进入容器
- 按 ? 查看完整快捷键列表
适用场景
- 本地开发环境管理:同时运行多个容器时,比一个个敲
docker命令高效得多 - Docker Compose 项目:快速启停整套服务,查看各服务日志
- 服务器运维:在没有图形界面的服务器上管理 Docker 资源
- 排查容器问题:快速查看日志、资源占用,进入容器调试
总结
fzf、lazygit 和 lazydocker 这三款工具虽然定位不同,但有一个共同点:它们都在不牺牲命令行效率的前提下,大幅提升了交互体验。fzf 解决了「快速查找」的痛点,lazygit 让 Git 操作变得直观简单,lazydocker 则把 Docker 管理浓缩进了一个终端仪表盘。
这三款工具都使用 Go 语言编写,跨平台支持良好,安装简单,社区活跃,并且都采用 MIT 开源协议。如果你每天都在和命令行打交道,强烈建议把它们加入你的工具箱,相信我——用上之后就再也回不去了。

评论(0)
暂无评论,来抢沙发~
请 登录 后发表评论