Awesome Shell:命令行框架、工具包、指南清单(中译版)

jopen 9年前

这是一份非常棒的命令行框架、工具包、指南、以及小玩意儿组织清单。由 awesome-php 获得灵感。该 awesome 收集在Unix-Shell.ZEEF.com 上也可用。

Awesome Bash

命令行效率

使你的终端体验更有效率的搜索、书签、多路复用、以及其它工具。

  • ag - 在层级目录中超快的搜索字符串
  • autoenv - 基于目录的环境
  • autojump - 自带学习功能的 cd 命令,从命令行轻易地导航目录
  • bash-slugify - 将文件名及目录转换为 web 友好的格式
  • bashmarks - 适用于 shell 的目录书签
  • boom - 在命令行中存储链接及片断
  • byobu - 基于文本的窗口管理器及终端多路复用器
  • commacd - 在 Bash 中更快速的移动方式
  • fasd - 命令行效率提升器,提供快速访问文件及目录
  • fzf - 命令行下的模糊搜索器
  • hhighlighter - 在命令输出中给单词着色
  • hr - 适用于终端的 <hr />
  • hstr - Bash 历史建议框
  • k - k 是一个使目录列表更可读的 Zsh 脚本,它增添了 Git 状态、文件颜色、以及腐朽的日期
  • marker - 将你的 shell 命令加到书签
  • parallel - 以并行化方式从标准输入构造并执行 shell 命令行
  • percol - 为传统的 UNIX shell 管道添加交互式的过滤
  • spark - ▁▂▃▅▂▇ 在你的 shell 中
  • spot - 微型的文件搜索工具
  • sshfs - 通过 SSH 挂载远程文件系统的工具
  • sshrc - SSH 时带上你的 .bashrc、.vimrc 等
  • thefuck - 通过使用容易记住的命令修正常见的 shell 错误
  • tmux - 很棒的终端复用器
  • v - 适用于 Vim 的 z
  • wemux - 多用户使用 Tmux 变得更容易
  • z - z 是新的 j

定制

定制提示符、颜色主题等。

针对开发者

命令行开发、版本控制、以及部署。

  • cloc - 统计代码行数
  • dokku - 百行 Bash 打造的 Docker 迷你 Heroku
  • 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 - 自动变基进来的更改代替合并,优雅!
  • mr - 多仓库管理工具
  • overcommit - 完全可配置且可扩展的 Git hook 管理器
  • pre-commit - 用于管理及维护多语言 pre-commit hooks 的框架
  • repren - 命令行搜索与替换及文件重命名的瑞士军刀式工具
  • slap - 运行在 Node.js 上的基于终端的类 Sublime 文本编辑器
  • shipit - 极简 SSH 部署

系统工具

操作系统相关工具,包括系统管理、系统调试、及文件和进程管理。

  • cv - 显示 cp、rm、dd 等命令进度的 Linux 工具
  • htop - 基于 ncurses 的交互式进程查看器,其目标是比 top 更好
  • lsp - 改进的 ls,包含无格式语言的文件说明及智能的文件分组
  • 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 替代品
  • ngincat - 使用 netcat 的微型 Bash HTTP 服务器
  • resty - 你可以在管道中使用的小型命令行 REST 客户端
  • 油Tube-dl - 从 油Tube.com 及其它视频站点下载视频的小命令行程序

多媒体与文件格式

用于处理视频及音频文件的工具。

  • adb-export - 导出 Android 内容提供商为 CSV 格式
  • Android-Kitchen - 基于文本的 Android ROM 定制 kitchen,使用 shell 脚本并支持 Cygwin/OS X/Linux
  • Beets - 音乐库管理器及 MusicBrainz 标签工具
  • image-scraper - 包含诸多特性的酷命令行图像 scraper
  • jq - 针对 json 数据的 Sed,你可以使用它分片、过滤、映射及变换结构化数据
  • PiCAST - PiCAST 将你的 35 刀 Raspberry Pi 变成类 Chromecast 设备
  • sejda - 命令行下的 PDF 文档处理工具(分割、合并、旋转、转换为 jpg、提取文本等)
  • xmlstarlet - 古老而强大的命令行 XML 格式化、过滤及处理工具

应用程序

基于命令行的应用程序或从命令行访问现有服务。

  • ansiweather - 终端中的天气预报,包含 ANSI 颜色及 Unicode 符号
  • bashblog - 处理 blog 投递的 Bash 脚本
  • geeknote - 命令行的 Evernote 客户端
  • jrnl - 使用无格式文本文件存储日记的简单命令行程序
  • ledger - 命令行记账
  • pushblast - 当 shell 程序退出时获得 PushBullet 通知
  • pushbullet-bash - PushBullet API 的 Bash 接口
  • transfer.sh — 从 shell 快速上传并分享文件
  • wego - 适用于终端的天气预报应用

游戏

只顾工作而不玩玩是一种糟糕的度日方式。

Shell 包管理

用于管理多个 shell 配置的工具。

  • antigen-hs - 针对启动 shell 时低开销进行优化的 antigen 替代品
  • antibody - 使用 Go 编写的更快且更简单的 antigen 替代品
  • bash-it - 社区化的 Bash 框架
  • basher - 针对 shell 脚本的包管理器
  • bpkg - JavaScript 有 npm、Ruby 有 Gems、Python 有 pip,现在 Shell 有 bpkg
  • fresh - 使你的 dotfiles 保持更新
  • homeshick - 使用 Bash 编写的 Git dotfile 同步器
  • oh-my-fish - 用于管理 Fish shell 配置的框架,由 Oh My Zsh 获得灵感
  • Wahoo - 适用于 Fish shell 的全功能框架及去中心化包管理器
  • vcsh - 基于 Git 的配置管理器

Shell 脚本开发

用于编写、改进、及管理 Bash 或其它 shell 脚本的工具。

  • bashful - 简化编写 Bash 脚本的库收集
  • bats - Bash 自动化测试系统
  • composure - 撰写、文档、版本、及组织你的 shell 函数
  • dispatch - 使用 50 行可移植 shell 脚本写成的命令行参数解析器
  • rerun - 用来管理保留脚本的模块化 shell 自动化框架
  • semver_bash - 使用 Bash 实现的语义化版本
  • shellcheck - 针对 shell 脚本的静态化分析工具
  • shpec - shell 测试框架
  • sub - 以美味之道来管理程序
  • ts - shell 测试脚本
  • shunit2 - 适用于 Bash 脚本的单元测试框架(具有 JUnit/PyUnit 风味)

Zsh

特别针对 Zsh 的工具及定制。

  • awesome-zsh-plugins - 可用于 antigen、dotzsh、oh-my-zsh 及 prezto 的 Zsh 插件列表
  • antigen - 适用于 Zsh 的插件管理器,由 oh-my-zsh 及 vundle 获得灵感
  • dotzsh - dotzsh 力争变成平台和版本独立,在 Zsh 旧版本下运行时可能缺少某些功能,但它让你在多个不同的系统上使用相同的设置而没问题
  • oh-my-zsh - 管理 Zsh 配置的社区化框架
  • pretty-time-zsh - 将秒转换为人类可读的字符串: 165392 → 1d 21h 56m 32s
  • powerline-zsh - 适用于 Zsh 的 powerline
  • prezto - 针对 Zsh 的配置框架
  • pure - 漂亮、极简、及快速的 Zsh 提示符
  • zgen - 适用于 Zsh 的轻量级插件管理器,由 antigen 获得灵感,但为启动新的 shell 时优化了速度,可载入 oh-my-zsh 兼容的插件和主题
  • zsh-autosuggestions - 适用于 Zsh 的类 Fish 自动建议
  • zsh-dwim - Zsh 照我之意做
  • zsh-git-prompt - 针对 Zsh 的 Git 信息提示符
  • zsh-history-substring-search - 针对 Zsh 实现的 Fish shell 的历史搜索功能
  • zshmarks - 针对 oh-my-zsh 的 Bashmarks 移植(由 Todd Werth 编写的简单书签插件)
  • zsh-notify - 适用于在 Zsh 中长时运行命令的桌面通知
  • zsh-prompt-powerline - 基于 powerline 字体(来自流行的 Vim 插件)的 Zsh 提示符
  • zsh-syntax-highlighting - 针对 Zsh 的类 Fish shell 语法着色功能

指南

其它 Awesome 清单

其它很棒的 awesome 清单可在 awesome-awesome 和 awesome-awesomeness 找到。

来自:https://github.com/xuxiaodong/awesome-shell/blob/master/README_ZH-CN.md