alebcay/awesome-shell · 上手攻略
- 仓库:alebcay/awesome-shell
- 链接:https://github.com/alebcay/awesome-shell
- 分类:skill
- 作者:Jay
- 更新:2026-07-14
一、是什么
awesome-shell 是 GitHub 上最权威的命令行工具精选列表,由 alebcay 维护,灵感来自 awesome-php。它将数百款优秀的命令行框架、工具库、指南和小玩意按类别组织起来,帮助 Shell 用户快速发现和筛选适合自己工作流的命令行利器。
截至 2026 年中,该仓库已积累约 37,000+ Stars,是命令行工具领域的标杆 Awesome 系列之一。
二、解决什么问题
在 Linux/macOS 日常使用和服务器运维中,Shell 用户经常面临:
- 找不到趁手的工具 —— 想实现某个功能,却不知道有没有现成的命令行工具
- 工具分散 —— 好的工具散落在论坛、博客、Twitter 等各处,缺乏一站式索引
- 难以横向对比 —— 同一个需求有多个工具,不知道选哪个
awesome-shell 把这些问题都解决了:一份列表,分类清晰,持续更新,用爱发电。
三、快速安装
无需安装 —— 这是一个纯「索引」仓库。 直接 star/fork 或者克隆到本地作为参考手册即可:
# 克隆到本地(不常用,仅存档)
git clone https://github.com/alebcay/awesome-shell.git
# 或者直接用浏览器打开 README 浏览
# https://github.com/alebcay/awesome-shell
⚠️ 注意:这不是一个可执行的命令行工具,而是一个工具列表本身。使用其中的具体工具,需要另行安装那些工具。
四、核心用法与分类概览
awesome-shell 的内容分为以下主要板块,每个板块下列出多个具体工具:
1. 选择你的 Shell(Shell Variants)
如果你还在纠结用哪个 shell,这里列出了所有主流选择:
| Shell | 特点 | 推荐场景 |
|---|---|---|
| bash | GNU 默认,最通用 | 通用脚本、系统管理 |
| zsh | 插件生态丰富(Oh My Zsh) | 桌面开发日常 |
| fish | 开箱即用的补全与高亮 | 追求开箱即用的用户 |
| nushell | 用 Rust 写的结构化 shell | 喜欢数据结构化输出的用户 |
| PowerShell | 跨平台,Windows 友好 | Windows/跨平台管理 |
| xonsh | Python + Shell 混写 | Python 开发者 |
| elvish | 匿名函数、数据结构 | 喜欢函数式风格的用户 |
建议:如果你是 Shell 新手,从 zsh 或 fish 入手;如果追求轻量高性能,试试 nushell。
2. 命令行生产力工具(Command-Line Productivity)
这里是最精华的部分,涵盖高频场景:
文件搜索与导航
# fd - 比 find 更友好的文件搜索(Rust 编写,速度极快)
fd "*.py" ./src
# fzf - 模糊查找神器(可用在文件、历史、git 分支等场景)
find . -type f | fzf
# broot - 更好的目录导航
broot
# lf / lf.sh - 终端文件管理器(类 vim 操作)
lf
# zoxide - 比 cd 更快地跳转到常用目录(记录你的习惯)
zoxide add /home/user/project
z /home/user/project # 直接跳
# autojump - 记住你常用的目录
# 配置方法:在 .zshrc 中添加:
# source /usr/local/bin/autojump.sh
# 用法:j project # 跳到包含 "project" 的最常用目录
命令历史与复用
# mcfly - 用机器学习提升历史搜索体验
# 安装:cargo install mcfly
mcfly search git
# hstr - Bash 历史管理(交互式选择历史命令)
hstr
# resh - 带上下文的高亮历史(Zsh/Bash)
resh
# shell-history - 可视化你的命令使用频率
剪贴板、书签与片段
# CloudClip - 跨设备剪贴板同步
CloudClip copy "hello world"
# pass - GPG 加密的密码管理器(命令行)
pass insert github/anan
pass github/anan # 自动复制密码到剪贴板
# marker - 命令行书签
marker add deploy "ssh user@server ./deploy.sh"
# dnote - 跨设备同步的命令行笔记
dnote add "记住:curl -X POST 用 -d"
dnote list
格式化输出
# spark - 终端里画迷你趋势图
spark 1 3 5 3 7 12
# lowcharts - 低分辨率终端图形
lowcharts bar 10 30 20
# Shell Markup Language (SHML) - 终端着色框架
echo -e "${Cyan}Info${Color_Off}: starting..."
网络与搜索
# googler - Google 搜索(命令行)
googler "linux shell tips"
# ddgr - DuckDuckGo(命令行)
ddgr "best terminal tools"
# surfraw - 针对特定站点的命令行浏览器
surfraw google -t 10 "cli tools"
# rg (ripgrep) - 超快的行搜索(替代 grep)
rg "TODO" ./src --type python
性能与并发
# GNU parallel - 并行执行命令
ls *.txt | parallel -P 4 gzip {}
# await - 等待一组并行命令全部完成
await -- echo "task1" & -- echo "task2" &
# hss - 交互式批量 SSH
# 配置 hosts 后:hss # 交互式选择
# 或:hss -c "uptime" all-servers # 对一组机器执行命令
3. 目录导航增强(Directory Navigation)
# enhancd - 交互式目录切换
# 在 .zshrc 中启用:export ENHANCD_FILTER=fzf:fzy:peco
# 用法:cd 或者直接输入目录名模糊匹配
# z.lua - 更快的 autojump 替代(Lua 编写)
# 在 .zshrc 中:eval "$(z.lua --init zsh)"
# autojump - 智能跳转
# 安装后添加到 .zshrc:
# [[ -s /usr/local/share/autojump/autojump.sh ]] && source /usr/local/share/autojump/autojump.sh
# bd - 快速回到父目录
bd 2 # 往上两级
# commacd - 用逗号快速在父目录间跳转
# ,,, # 往上三层
4. Git 增强
# gitmux - 在 tmux 状态栏显示 git 状态
# 在 .tmux.conf 中:
# source-file "#{battery_color_status}" "#{battery_color_window}" # 可选
# 运行:gitmux -cfg .gitmux.yml $repo_path
# git-standup - 显示你上次 commit 到现在的工作
git-standup
# hub - GitHub 命令行增强
hub clone alebcay/awesome-shell
5. Tmux 终端复用器
# tmux - 终端分屏与会话管理(内置)
tmux new -s work # 新建名为 work 的会话
# Ctrl+b d # 分离当前会话
# Ctrl+b % # 纵向分屏
# Ctrl+b " # 横向分屏
6. 特定语言工具链
列表中还收录了大量语言专属的命令行工具:
| 语言 | 工具 | 用途 |
|---|---|---|
| Python | pipx |
安全安装 Python CLI 工具 |
| Node.js | npx |
运行 node 包 |
| Rust | cargo |
Rust 包管理 |
| Go | gh |
GitHub CLI |
| All | tldr |
简化版 man 手册(社区驱动) |
五、典型适用场景
场景 1:快速发现工具
当你有明确需求("我需要一个终端书签管理器")时,直接在列表中找到对应分类,每个工具都有简短描述和 GitHub 链接,效率极高。
场景 2:探索新工具
定期浏览列表,了解业界有什么新东西。比如了解 nushell、fish 等新一代 shell,或者 broot、zoxide 等现代替代品。
场景 3:配置新机器
在新机器上快速部署:结合列表克隆+Shell 配置文件管理(ansible/dotfiles),可以快速还原一整套命令行工作流。
场景 4:技术调研
想做 Shell 脚本/工具相关的技术选型,直接在列表中横向对比,节省大量搜索时间。
六、坑与注意
- 列表质量参差不齐 —— 有些工具可能已停止维护,在采用前请检查 GitHub 最近更新时间。
- Shell 兼容性问题 —— 部分工具只支持 bash/zsh/fish 之一,安装前确认自己的 shell 环境。
- macOS 特殊注意 —— macOS 默认 bash 版本较旧(3.x),很多工具建议用
brew install安装,或切换到 zsh。 - 不全是「Awesome」质量 —— 这是个巨大的合集,部分子类别不如主列表那么高门槛,请带着批判眼光看。
- 安全考量 —— 部分工具涉及凭证/密码管理(如
pass),请务必了解工具的安全模型再正式使用。
七、与同类对比
| 项目 | Stars | 特点 | 推荐 |
|---|---|---|---|
| awesome-shell | ~37k | 覆盖最全面,Shell + 工具都有 | ✅ 首选入口 |
| awesome-cli-apps | ~28k | 侧重 GUI 辅助 CLI 工具 | 补充参考 |
| terminals-are-sexy | ~10k | 聚焦终端美学与工具 | 视觉向补充 |
awesome-shell 是其中历史最悠久、覆盖面最广的一个,是「命令行工具精选」赛道的首选资源。
八、一句话推荐结论
无论你是 Shell 新手还是老手,awesome-shell 都是你探索和发现命令行利器的第一站,值得长期 star 并定期回看。
注:具体工具的版本号、安装方式请参考对应工具的官方文档;本仓库最后一次主要更新及具体 Star 数以 GitHub 实时数据为准。