Awesome Shell
这是一份非常棒的命令行框架、工具包、指南、以及小玩意儿组织清单。由 awesome-PHP 获得灵感。该 awesome 收集在 Unix-Shell.ZEEF.com 上也可用。
- 命令行效率
- 定制
- 针对开发者
- 系统工具
- 下载与服务
- 多媒体与文件格式
- 应用程序
- 游戏
- Shell 包管理
- Shell 脚本开发
- 指南
- Awesome Zsh
- Awesome Fish
- 其它 Awesome 清单
命令行效率
使你的终端体验更有效率的搜索、书签、多路复用、以及其它工具。
- ag - 在层级目录中超快的搜索字符串
- aliases - 针对 bash 的上下文动态组织别名
- aliasme - 用来快速更改目录的 alias 辅助程序
- autoenv - 基于目录的环境
- autojump - 自带学习功能的 cd 命令,从命令行轻易地导航目录
- bashhub - :cloud: 在云中的 bash 历史,已索引且可搜索。
- bashmarks - 适用于 shell 的目录书签
- bd - 迅速回到父目录
- boilr - 从 boilerplate 模板创建项目的超快命令行工具
- boom - 在命令行中存储链接及片断
- borg - 基于终端的 bash 命令搜索引擎
- byobu - 基于文本的窗口管理器及终端多路复用器
- commacd - 在 Bash 中更快速的移动方式
- desk - 适用于 shell 的轻量级工作区管理器
- direnv - 针对 shell 的环境切换工具(利用 autoenv 比较)
- enhancd - :rocket: 具有交互式过滤功能的下一代 cd 命令
- fasd - 命令行效率提升器,提供快速访问文件及目录
- foxy - 适合 Firefox 及 Surf 浏览器的无格式文本书签
- fz - z 的无缝模糊补全
- fzf - 命令行下的模糊搜索器
- hhighlighter - 在命令输出中给单词着色
- hr - 适用于终端的
<hr />
- hstr - Bash 历史建议框
- k - k 是一个使目录列表更可读的 Zsh 脚本,它增添了 Git 状态、文件颜色、以及腐朽的日期
- k alias - 获得用于单行的酷 alias
- marker - 将你的 shell 命令加到书签
- parallel - 以并行化方式从标准输入构造并执行 shell 命令行
- pathpicker - 允许将 grep、搜索、git 等的输出结果作为输入,并提供友好的选择界面,以便打开或作为命令的参数
- percol - 为传统的 UNIX shell 管道添加交互式的过滤
- qfc - 针对 Bash 和 Zsh 的文件补全 widget
- SHML - 适用于终端的样式框架 (Shell 标记语言)
- slugify - 将文件名及目录转换为 web 友好的格式
- sman - :bug: 命令行下的片断管理器
- spark - ▁▂▃▅▂▇ 在你的 shell 中
- Shark - ▁▂▃▅ Sparkline 生成器
- sheet - 用于命令行的文本片断
- spot - 微型的文件搜索工具
- snips - 管理代码片断的命令行工具
- sshfs - 通过 SSH 挂载远程文件系统的工具
- sshpass - 通过命令行传递ssh密码,无需再次输入,适合用于脚本之中
- autossh - 自动重启ssh通道和会话
- mosh - 第一个实现SSP的应用,MIT的博士项目,使得C/S之间可以保持链接持续,即使断开还能恢复之前的状态
- sshrc - SSH 时带上你的 .bashrc、.vimrc 等
- sudocabulary - 从终端学习英语词汇
- thefuck - 通过使用容易记住的命令修正常见的 shell 错误
- tmux - 很棒的终端复用器
- up - 按名称或计数升序排列目录,支持 bash 和 zsh
- v - 适用于 Vim 的 z
- wemux - 多用户使用 Tmux 变得更容易
- z - z 是新的 j
定制
- base16-shell - 适用于 shell 的 Base16
- bash-full-of-colors - 超强的命令行提示(含 screen、tmux、git 等支持)
- bash-git-prompt - 针对 Git 用户的信息及梦幻提示符
- bash-powerline - Powerline 风格的 Bash 提示符,纯 Bash 脚本
- bashstrap - 美化 OS X 终端的快速方法
- bullet-train-oh-my-zsh-theme - :bullettrain_side: 基于 Powerline Vim 插件的 oh-my-zsh shell 主题
- emojify - 适用于命令行的表情 :scream:
- flatui-terminal-theme - 很好的终端颜色主题
- git-prompt - 包含 Git、SVN 及 HG 模块的 Bash 提示符
- gittify - 彩色的 Bash 提示符及定制的 Git 别名
- Gogh - Color Scheme - 适用于 GNOME 终端的颜色主题
- liquidprompt - 针对 Bash 和 Zsh 的全功能及用心设计的自适应提示符
- mysql-colorize - 彩色的 MysqL 命令行客户端
- oh-my-git - 针对 Bash 和 Zsh 的自用 Git 提示符
- sexy-bash-prompt - 包含颜色、Git 状态及 Git 分支的 Bash 提示符
针对开发者
命令行开发、版本控制、以及部署。
- bocker - 使用百行 bash 实现的 Docker
- cloc - 统计代码行数
- dokku - 百行 Bash 打造的 Docker 迷你 Heroku
- getopts - 适用于 fish 的命令行解析器
- git-extra-commands - 很多 Git 扩展工具,包括 churn、cut-branch、improved-merge 等
- git-extras - Git 工具,包括仓库摘要、repl、更改日志人数、作者提交百分比等
- git-open - 输入
git open
在浏览器中打开 GitHub 页面或仓库网站 - git-semver - 用来方便的语义化版本及更改日志验证的 Git 插件
- git-sh - 适合 Git 工作的定制 Bash 环境
- git-up - 自动变基进来的更改代替合并,优雅!
- hub - 更易使用 GitHub 的命令行工具
- mr - 多仓库管理工具
- overcommit - 完全可配置且可扩展的 Git hook 管理器
- pre-commit - 用于管理及维护多语言 pre-commit hooks 的框架
- repren - 命令行搜索与替换及文件重命名的瑞士军刀式工具
- slap - 运行在 Node.js 上的基于终端的类 Sublime 文本编辑器
- shipit - 极简 SSH 部署
- tag - 立即跳到你的公牛队比赛
系统工具
操作系统相关工具,包括系统管理、系统调试、及文件和进程管理。
- atop - 能够报告所有进程活动的 ASCII 全屏性能监视器
- cv - 显示 cp、rm、dd 等命令进度的 Linux 工具
- glances - 系统监视之眼
- goaccess - 运行于 *nix 系统终端中的实时 web 日志分析器及交互式查看器
- histstat - 适用于 netstat 的历史
- htop - 基于 ncurses 的交互式进程查看器,其目标是比
top
更好 - lnav - 小型的高级日志文件查看器
- lsp - 改进的
ls
,包含无格式语言的文件说明及智能的文件分组 - mtr - traceroute 和 ping 功能合二为一的网络诊断工具
- ncdu - NCurses 磁盘占用统计
- powertop - 电池/电源占用及设备状态监视命令行工具,包含调整选项
- procdog - 轻量级的命令行控制类似服务器的长实时进程
- quick-secure - 快速的安全并加固 UNIX/Linux 系统
下载与服务
使用 shell 脚本编写的自架、轻量级服务器与网络工具。
- aria2 - aria2 是一款在命令行中操作的轻量级多协议、多来源、及跨平台下载工具,它支持 HTTP/HTTPS、FTP、BitTorrent 及 Metalink
- balls - Bash on Balls,全功能的 web 平台
- bashttpd - 使用 Bash 编写的 web 服务器
- bitpocket - “DIY DropBox” 或 “双向目录同步(含正确删除)”
- Dropbox-Uploader - DropBox Uploader 是用来从 DropBox 上传、下载、列出或删除文件的 Bash 脚本
- httpie - HTTPie 是一个命令行 HTTP 客户端,用户友好的 cURL 替代品
- http-server - http-server可以启动一个轻量级的http服务
- ngincat - 使用 netcat 的微型 Bash HTTP 服务器
- resty - 你可以在管道中使用的小型命令行 REST 客户端
- youtube-dl - 从 YouTube.com 及其它视频站点下载视频的小命令行程序
- coursera-dl - 从Course公开课上下载视频
多媒体与文件格式
用于处理视频及音频文件的工具。
- adb-export - 导出 Android 内容提供商为 CSV 格式
- Android-Kitchen - 基于文本的 Android ROM 定制 kitchen,使用 shell 脚本并支持 Cygwin/OS X/Linux
- Beets - 音乐库管理器及 MusicBrainz 标签工具
- cmus - 跨平台的命令行音乐播放器
- gifgen - 简单高质量的 GIF 编码
- image-scraper - 包含诸多特性的酷命令行图像 scraper
- jq - 针对 json 数据的 Sed,你可以使用它分片、过滤、映射及变换结构化数据
- csvtookit - 使用pip install csvki安装,csv文件进行处理的强大工具
- mplayer - 让你在 shell 中播放主流的音频及视频格式(使用 ASCII 字符)
- nehm - 下载、设置 IDv3 标签、并添加到 iTunes 的控制台工具
- PiCAST - PiCAST 将你的 35 刀 Raspberry Pi 变成类 Chromecast 设备
- sejda - 命令行下的 PDF 文档处理工具(分割、合并、旋转、转换为 jpg、提取文本等)
- xmlstarlet - 古老而强大的命令行 XML 格式化、过滤及处理工具
- ffmpeg - 非常强大的视频处理工具
- imagmMagick - 其强大有目共睹
应用程序
基于命令行的应用程序或从命令行访问现有服务。
- ansiweather - 终端中的天气预报,包含 ANSI 颜色及 Unicode 符号
- bashblog - 处理 blog 投递的 Bash 脚本
- choosealicense-cli - 从终端选授權合約
- facy - 命令行下的 Facebook 客户端
- fanyi - 翻译英文为中文的命令行工具
- geeknote - 命令行的 Evernote 客户端
- haxor-news - 像黑客一样浏览 Hacker News
- hn-cli - 从终端舒服的浏览 Hacker News
- iponmap - 利用 IP 地址在世界地图上绘点
- isitup - 检查一个网站是否正常上线
- jrnl - 使用无格式文本文件存储日记的简单命令行程序
- ledger - 命令行记账
- licen - 生成项目 license
- moviemon - 有关在命令行下看电影的每样东东
- pushblast - 当 shell 程序退出时获得 PushBullet 通知
- pushbullet-bash - PushBullet API 的 Bash 接口
- Reddit Terminal Viewer - 从终端浏览 Reddit
- SAWS - 超强的 AWS 命令行界面
- taskwarrior - 一个命令行去做列表管理器
- transfer.sh — 从 shell 快速上传并分享文件
- vl - 针对文本文档的 URL 链接检查器
- wego - 适用于终端的天气预报应用
- whereami - 从命令行获得你的地理位置信息
- fail2ban - SSH防爆破
游戏
只顾工作而不玩玩是一种糟糕的度日方式。
- bash2048 - 2048 游戏的 Bash 实现
- minesweeper - 扫雷的 Bash 实现
- sedtris - 使用 sed 实现的俄罗斯方块
- sed-scripts - 使用 sed 编写的 Arkanoid 和 Sokoban
Shell 包管理
用于管理多个 shell 配置的工具。对于特定的 zsh 工具,参阅 Zsh 节。
- bash-it - 社区化的 Bash 框架
- basher - 针对 shell 脚本的包管理器
- bpkg - JavaScript 有 npm、Ruby 有 Gems、Python 有 pip,现在 Shell 有 bpkg
- dotfiler – 使用 Python 编写的基于 Git 的 Shell dotfiles 管理器
- fresh - 使你的 dotfiles 保持更新
- homeshick - 使用 Bash 编写的 Git dotfile 同步器
- vcsh - 基于 Git 的配置管理器
- shundle - 适用于 shell 脚本的插件管理器
Shell 脚本开发
用于编写、改进、及管理 Bash 或其它 shell 脚本的工具。
- ansi - 使用纯 Bash 实现的 ANSI 转义码,包括更改文本颜色、定位光标等等
- assert.sh - Bash 单元测试框架
- bashful - 简化编写 Bash 脚本的库收集
- bashmanager - 用来创建命令行工具的微型 Bash 框架
- bats - Bash 自动化测试系统
- Fishtape - 适用于 fish 的 TAP 产生器及测试工具
- composure - 撰写、文档、版本、及组织你的 shell 函数
- dispatch - 使用 50 行可移植 shell 脚本写成的命令行参数解析器
- is.sh - 内置 test 命令的替代品,使 “if” 语句更漂亮
- mo - 使用纯 Bash 实现的 Mustache 模板
- optparse - 针对 getopts 的 BASH wrapper,用于简单的命令行参数
- rerun - 用来管理保留脚本的模块化 shell 自动化框架
- semver_bash - 使用 Bash 实现的语义化版本
- [sh-semver] (https://github.com/qzb/sh-semver) - 适用于 bash 的 Semver 工具,匹配指定规则来查找版本
- shellcheck - 针对 shell 脚本的静态化分析工具
- shellfire - 命名空间仓库,可写 shell (bash、sh 及 dash) 函数库
- shpec - shell 测试框架
- sub - 以美味之道来管理程序
- ts - shell 测试脚本
- shunit2 - 适用于 Bash 脚本的单元测试框架(具有 JUnit/PyUnit 风味)
- rebash - 脚本库/框架,包含 imports、exceptions、doc-tests 等功能
指南
- Bash 黑客的维基
- Greg Wooledge(又名 “greycat”)的维基:尤其是 Bash 指南、Bash 疑难问答 及 Bash 陷阱
- Google 的 Shell 风格指南
- Linux 文档项目: Bash 编程 - 简介/如何做
- Linux 文档项目: 高级 Bash 脚本指南
- WikiBooks: Bash Shell 脚本
- 使用非官方的 Bash 严格模式 (除非你爱调试)
- 命令行的艺术
- 学会成为命令行杀手
- 学习bash的指南
其它 Awesome 清单
其它很棒的 awesome 清单可在 awesome-awesome 和 awesome-awesomeness 找到。