├── .travis.yml ├── LICENSE ├── README_ZH-CN.md └── README.md /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.2 4 | before_script: 5 | - gem install awesome_bot 6 | script: 7 | - awesome_bot README.md 8 | - awesome_bot README_ZH-CN.md 9 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | CC0 1.0 Universal 2 | 3 | Statement of Purpose 4 | 5 | The laws of most jurisdictions throughout the world automatically confer 6 | exclusive Copyright and Related Rights (defined below) upon the creator and 7 | subsequent owner(s) (each and all, an "owner") of an original work of 8 | authorship and/or a database (each, a "Work"). 9 | 10 | Certain owners wish to permanently relinquish those rights to a Work for the 11 | purpose of contributing to a commons of creative, cultural and scientific 12 | works ("Commons") that the public can reliably and without fear of later 13 | claims of infringement build upon, modify, incorporate in other works, reuse 14 | and redistribute as freely as possible in any form whatsoever and for any 15 | purposes, including without limitation commercial purposes. These owners may 16 | contribute to the Commons to promote the ideal of a free culture and the 17 | further production of creative, cultural and scientific works, or to gain 18 | reputation or greater distribution for their Work in part through the use and 19 | efforts of others. 20 | 21 | For these and/or other purposes and motivations, and without any expectation 22 | of additional consideration or compensation, the person associating CC0 with a 23 | Work (the "Affirmer"), to the extent that he or she is an owner of Copyright 24 | and Related Rights in the Work, voluntarily elects to apply CC0 to the Work 25 | and publicly distribute the Work under its terms, with knowledge of his or her 26 | Copyright and Related Rights in the Work and the meaning and intended legal 27 | effect of CC0 on those rights. 28 | 29 | 1. Copyright and Related Rights. A Work made available under CC0 may be 30 | protected by copyright and related or neighboring rights ("Copyright and 31 | Related Rights"). Copyright and Related Rights include, but are not limited 32 | to, the following: 33 | 34 | i. the right to reproduce, adapt, distribute, perform, display, communicate, 35 | and translate a Work; 36 | 37 | ii. moral rights retained by the original author(s) and/or performer(s); 38 | 39 | iii. publicity and privacy rights pertaining to a person's image or likeness 40 | depicted in a Work; 41 | 42 | iv. rights protecting against unfair competition in regards to a Work, 43 | subject to the limitations in paragraph 4(a), below; 44 | 45 | v. rights protecting the extraction, dissemination, use and reuse of data in 46 | a Work; 47 | 48 | vi. database rights (such as those arising under Directive 96/9/EC of the 49 | European Parliament and of the Council of 11 March 1996 on the legal 50 | protection of databases, and under any national implementation thereof, 51 | including any amended or successor version of such directive); and 52 | 53 | vii. other similar, equivalent or corresponding rights throughout the world 54 | based on applicable law or treaty, and any national implementations thereof. 55 | 56 | 2. Waiver. To the greatest extent permitted by, but not in contravention of, 57 | applicable law, Affirmer hereby overtly, fully, permanently, irrevocably and 58 | unconditionally waives, abandons, and surrenders all of Affirmer's Copyright 59 | and Related Rights and associated claims and causes of action, whether now 60 | known or unknown (including existing as well as future claims and causes of 61 | action), in the Work (i) in all territories worldwide, (ii) for the maximum 62 | duration provided by applicable law or treaty (including future time 63 | extensions), (iii) in any current or future medium and for any number of 64 | copies, and (iv) for any purpose whatsoever, including without limitation 65 | commercial, advertising or promotional purposes (the "Waiver"). Affirmer makes 66 | the Waiver for the benefit of each member of the public at large and to the 67 | detriment of Affirmer's heirs and successors, fully intending that such Waiver 68 | shall not be subject to revocation, rescission, cancellation, termination, or 69 | any other legal or equitable action to disrupt the quiet enjoyment of the Work 70 | by the public as contemplated by Affirmer's express Statement of Purpose. 71 | 72 | 3. Public License Fallback. Should any part of the Waiver for any reason be 73 | judged legally invalid or ineffective under applicable law, then the Waiver 74 | shall be preserved to the maximum extent permitted taking into account 75 | Affirmer's express Statement of Purpose. In addition, to the extent the Waiver 76 | is so judged Affirmer hereby grants to each affected person a royalty-free, 77 | non transferable, non sublicensable, non exclusive, irrevocable and 78 | unconditional license to exercise Affirmer's Copyright and Related Rights in 79 | the Work (i) in all territories worldwide, (ii) for the maximum duration 80 | provided by applicable law or treaty (including future time extensions), (iii) 81 | in any current or future medium and for any number of copies, and (iv) for any 82 | purpose whatsoever, including without limitation commercial, advertising or 83 | promotional purposes (the "License"). The License shall be deemed effective as 84 | of the date CC0 was applied by Affirmer to the Work. Should any part of the 85 | License for any reason be judged legally invalid or ineffective under 86 | applicable law, such partial invalidity or ineffectiveness shall not 87 | invalidate the remainder of the License, and in such case Affirmer hereby 88 | affirms that he or she will not (i) exercise any of his or her remaining 89 | Copyright and Related Rights in the Work or (ii) assert any associated claims 90 | and causes of action with respect to the Work, in either case contrary to 91 | Affirmer's express Statement of Purpose. 92 | 93 | 4. Limitations and Disclaimers. 94 | 95 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 96 | surrendered, licensed or otherwise affected by this document. 97 | 98 | b. Affirmer offers the Work as-is and makes no representations or warranties 99 | of any kind concerning the Work, express, implied, statutory or otherwise, 100 | including without limitation warranties of title, merchantability, fitness 101 | for a particular purpose, non infringement, or the absence of latent or 102 | other defects, accuracy, or the present or absence of errors, whether or not 103 | discoverable, all to the greatest extent permissible under applicable law. 104 | 105 | c. Affirmer disclaims responsibility for clearing rights of other persons 106 | that may apply to the Work or any use thereof, including without limitation 107 | any person's Copyright and Related Rights in the Work. Further, Affirmer 108 | disclaims responsibility for obtaining any necessary consents, permissions 109 | or other rights required for any use of the Work. 110 | 111 | d. Affirmer understands and acknowledges that Creative Commons is not a 112 | party to this document and has no duty or obligation with respect to this 113 | CC0 or use of the Work. 114 | 115 | For more information, please see 116 | 117 | -------------------------------------------------------------------------------- /README_ZH-CN.md: -------------------------------------------------------------------------------- 1 | # Awesome Shell [![Awesome][awesome-badge]][awesome-link] 2 | 3 | 这是一份非常棒的命令行框架、工具包、指南、以及小玩意儿组织清单。由 awesome-php 获得灵感。该 awesome 收集在 [Unix-Shell.ZEEF.com](https://unix-shell.zeef.com/caleb.xu) 上也可用。 4 | 5 | - [命令行效率](#命令行效率) 6 | - [定制](#定制) 7 | - [针对开发者](#针对开发者) 8 | - [系统工具](#系统工具) 9 | - [下载与服务](#下载与服务) 10 | - [多媒体与文件格式](#多媒体与文件格式) 11 | - [应用程序](#应用程序) 12 | - [游戏](#游戏) 13 | - [Shell 包管理](#shell-包管理) 14 | - [Shell 脚本开发](#shell-脚本开发) 15 | - [指南](#指南) 16 | - [**Awesome Zsh**][awesome-zsh]  [![Awesome][awesome-badge]][awesome-zsh] 17 | - [**Awesome Fish**][awesome-fish] [![Awesome][awesome-badge]][awesome-fish] 18 | - [其它 Awesome 清单](#其它-awesome-清单) 19 | 20 | ## 命令行效率 21 | 22 | *使你的终端体验更有效率的搜索、书签、多路复用、以及其它工具。* 23 | 24 | * [ag](https://github.com/ggreer/the_silver_searcher) - 在层级目录中超快的搜索字符串 25 | * [aliases](https://github.com/sebglazebrook/aliases) - 针对 bash 的上下文动态组织别名 26 | * [aliasme](https://github.com/Jintin/aliasme) - 用来快速更改目录的 alias 辅助程序 27 | * [autoenv](https://github.com/kennethreitz/autoenv) - 基于目录的环境 28 | * [autojump](https://github.com/wting/autojump) - 自带学习功能的 cd 命令,从命令行轻易地导航目录 29 | * [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: 在云中的 bash 历史,已索引且可搜索。 30 | * [bashmarks](https://github.com/huyng/bashmarks) - 适用于 shell 的目录书签 31 | * [bd](https://github.com/vigneshwaranr/bd) - 迅速回到父目录 32 | * [boilr](https://github.com/tmrts/boilr) - 从 boilerplate 模板创建项目的超快命令行工具 33 | * [boom](https://github.com/holman/boom) - 在命令行中存储链接及片断 34 | * [borg](https://github.com/ok-borg/borg) - 基于终端的 bash 命令搜索引擎 35 | * [byobu](http://byobu.co/) - 基于文本的窗口管理器及终端多路复用器 36 | * [commacd](https://github.com/shyiko/commacd) - 在 Bash 中更快速的移动方式 37 | * [desk](https://github.com/jamesob/desk) - 适用于 shell 的轻量级工作区管理器 38 | * [direnv](https://github.com/direnv/direnv) - 针对 shell 的环境切换工具(利用 autoenv 比较) 39 | * [enhancd](https://github.com/b4b4r07/enhancd) - :rocket: 具有交互式过滤功能的下一代 cd 命令 40 | * [fasd](https://github.com/clvv/fasd) - 命令行效率提升器,提供快速访问文件及目录 41 | * [foxy](https://github.com/s-p-k/foxy) - 适合 Firefox 及 Surf 浏览器的无格式文本书签 42 | * [fz](https://github.com/changyuheng/fz) - z 的无缝模糊补全 43 | * [fzf](https://github.com/junegunn/fzf) - 命令行下的模糊搜索器 44 | * [hhighlighter](https://github.com/paoloantinori/hhighlighter) - 在命令输出中给单词着色 45 | * [hr](https://github.com/LuRsT/hr) - 适用于终端的 `
` 46 | * [hstr](https://github.com/dvorka/hstr) - Bash 历史建议框 47 | * [k](https://github.com/supercrabtree/k) - k 是一个使目录列表更可读的 Zsh 脚本,它增添了 Git 状态、文件颜色、以及腐朽的日期 48 | * [k alias](https://github.com/lingtalfi/k) - 获得用于单行的酷 alias 49 | * [marker](https://github.com/pindexis/marker) - 将你的 shell 命令加到书签 50 | * [parallel](http://www.gnu.org/software/parallel/) - 以并行化方式从标准输入构造并执行 shell 命令行 51 | * [pathpicker](https://github.com/facebook/PathPicker) - 允许将 grep、搜索、git 等的输出结果作为输入,并提供友好的选择界面,以便打开或作为命令的参数 52 | * [percol](https://github.com/mooz/percol) - 为传统的 UNIX shell 管道添加交互式的过滤 53 | * [qfc](https://github.com/pindexis/qfc) - 针对 Bash 和 Zsh 的文件补全 widget 54 | * [SHML](https://github.com/odb/shml) - 适用于终端的样式框架 (Shell 标记语言) 55 | * [slugify](https://github.com/benlinton/slugify) - 将文件名及目录转换为 web 友好的格式 56 | * [sman](https://github.com/tokozedg/sman) - :bug: 命令行下的片断管理器 57 | * [spark](https://github.com/holman/spark) - ▁▂▃▅▂▇ 在你的 shell 中 58 | * [Shark](https://github.com/fisherman/shark) - ▁▂▃▅ Sparkline 生成器 59 | * [sheet](https://github.com/oscardelben/sheet) - 用于命令行的文本片断 60 | * [spot](https://github.com/rauchg/spot) - 微型的文件搜索工具 61 | * [snips](https://github.com/srijanshetty/snips) - 管理代码片断的命令行工具 62 | * [sshfs](https://github.com/osxfuse/sshfs) - 通过 SSH 挂载远程文件系统的工具 63 | * [sshpass](https://sourceforge.net/projects/sshpass/) - 通过命令行传递ssh密码,无需再次输入,适合用于脚本之中 64 | * [autossh](https://sourceforge.net/projects/autossh/) - 自动重启ssh通道和会话 65 | * [mosh](https://mosh.org) - 第一个实现SSP的应用,MIT的博士项目,使得C/S之间可以保持链接持续,即使断开还能恢复之前的状态 66 | * [sshrc](https://github.com/Russell91/sshrc) - SSH 时带上你的 .bashrc、.vimrc 等 67 | * [sudocabulary](https://github.com/badarsh2/Sudocabulary) - 从终端学习英语词汇 68 | * [thefuck](https://github.com/nvbn/thefuck) - 通过使用容易记住的命令修正常见的 shell 错误 69 | * [tmux](http://tmux.github.io/) - 很棒的终端复用器 70 | * [up](https://github.com/shannonmoeller/up) - 按名称或计数升序排列目录,支持 bash 和 zsh 71 | * [v](https://github.com/rupa/v) - 适用于 Vim 的 z 72 | * [wemux](https://github.com/zolrath/wemux) - 多用户使用 Tmux 变得更容易 73 | * [z](https://github.com/rupa/z) - z 是新的 j 74 | 75 | ## 定制 76 | 77 | *定制提示符、颜色主题等。* 78 | 79 | * [base16-shell](https://github.com/chriskempson/base16-shell) - 适用于 shell 的 Base16 80 | * [bash-full-of-colors](https://github.com/slomkowski/bash-full-of-colors) - 超强的命令行提示(含 screen、tmux、git 等支持) 81 | * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - 针对 Git 用户的信息及梦幻提示符 82 | * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline 风格的 Bash 提示符,纯 Bash 脚本 83 | * [bashstrap](https://github.com/barryclark/bashstrap) - 美化 OS X 终端的快速方法 84 | * [bullet-train-oh-my-zsh-theme](https://github.com/caiogondim/bullet-train.zsh) - :bullettrain_side: 基于 Powerline Vim 插件的 oh-my-zsh shell 主题 85 | * [emojify](https://github.com/mrowa44/emojify) - 适用于命令行的表情 :scream: 86 | * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - 很好的终端颜色主题 87 | * [git-prompt](https://github.com/lvv/git-prompt) - 包含 Git、SVN 及 HG 模块的 Bash 提示符 88 | * [gittify](https://github.com/momeni/gittify) - 彩色的 Bash 提示符及定制的 Git 别名 89 | * [Gogh - Color Scheme](https://github.com/Mayccoll/Gogh) - 适用于 GNOME 终端的颜色主题 90 | * [liquidprompt](https://github.com/nojhan/liquidprompt) - 针对 Bash 和 Zsh 的全功能及用心设计的自适应提示符 91 | * [mysql-colorize](https://github.com/zpm-zsh/mysql-colorize) - 彩色的 MySQL 命令行客户端 92 | * [oh-my-git](https://github.com/arialdomartini/oh-my-git) - 针对 Bash 和 Zsh 的自用 Git 提示符 93 | * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - 包含颜色、Git 状态及 Git 分支的 Bash 提示符 94 | 95 | ## 针对开发者 96 | 97 | *命令行开发、版本控制、以及部署。* 98 | 99 | * [bocker](https://github.com/p8952/bocker) - 使用百行 bash 实现的 Docker 100 | * [cloc](https://github.com/AlDanial/cloc) - 统计代码行数 101 | * [dokku](https://github.com/dokku/dokku) - 百行 Bash 打造的 Docker 迷你 Heroku 102 | * [getopts](https://github.com/fisherman/getopts) - 适用于 fish 的命令行解析器 103 | * [git-extra-commands](https://github.com/unixorn/git-extra-commands) - 很多 Git 扩展工具,包括 churn、cut-branch、improved-merge 等 104 | * [git-extras](https://github.com/tj/git-extras) - Git 工具,包括仓库摘要、repl、更改日志人数、作者提交百分比等 105 | * [git-open](https://github.com/paulirish/git-open) - 输入 `git open` 在浏览器中打开 GitHub 页面或仓库网站 106 | * [git-semver](https://github.com/markchalloner/git-semver) - 用来方便的语义化版本及更改日志验证的 Git 插件 107 | * [git-sh](https://github.com/rtomayko/git-sh) - 适合 Git 工作的定制 Bash 环境 108 | * [git-up](https://github.com/aanand/git-up) - 自动变基进来的更改代替合并,优雅! 109 | * [hub](https://github.com/github/hub) - 更易使用 GitHub 的命令行工具 110 | * [mr](https://github.com/joeyh/myrepos) - 多仓库管理工具 111 | * [overcommit](https://github.com/brigade/overcommit) - 完全可配置且可扩展的 Git hook 管理器 112 | * [pre-commit](http://pre-commit.com) - 用于管理及维护多语言 pre-commit hooks 的框架 113 | * [repren](https://github.com/jlevy/repren) - 命令行搜索与替换及文件重命名的瑞士军刀式工具 114 | * [slap](https://github.com/slap-editor/slap) - 运行在 Node.js 上的基于终端的类 Sublime 文本编辑器 115 | * [shipit](https://github.com/sapegin/shipit) - 极简 SSH 部署 116 | * [tag](https://github.com/aykamko/tag) - 立即跳到你的公牛队比赛 117 | 118 | ## 系统工具 119 | 120 | *操作系统相关工具,包括系统管理、系统调试、及文件和进程管理。* 121 | 122 | * [atop](https://www.atoptool.nl) - 能够报告所有进程活动的 ASCII 全屏性能监视器 123 | * [cv](https://github.com/Xfennec/progress) - 显示 cp、rm、dd 等命令进度的 Linux 工具 124 | * [glances](https://github.com/nicolargo/glances) - 系统监视之眼 125 | * [goaccess](https://github.com/allinurl/goaccess) - 运行于 \*nix 系统终端中的实时 web 日志分析器及交互式查看器 126 | * [histstat](https://github.com/vesche/histstat) - 适用于 netstat 的历史 127 | * [htop](https://github.com/hishamhm/htop) - 基于 ncurses 的交互式进程查看器,其目标是比 `top` 更好 128 | * [lnav](http://lnav.org) - 小型的高级日志文件查看器 129 | * [lsp](https://github.com/dborzov/lsp) - 改进的 `ls`,包含无格式语言的文件说明及智能的文件分组 130 | * [mtr](https://github.com/traviscross/mtr) - traceroute 和 ping 功能合二为一的网络诊断工具 131 | * [ncdu](https://dev.yorhel.nl/ncdu) - NCurses 磁盘占用统计 132 | * [powertop](https://github.com/fenrus75/powertop) - 电池/电源占用及设备状态监视命令行工具,包含调整选项 133 | * [procdog](https://github.com/jlevy/procdog) - 轻量级的命令行控制类似服务器的长实时进程 134 | * [quick-secure](https://github.com/marshyski/quick-secure) - 快速的安全并加固 UNIX/Linux 系统 135 | 136 | ## 下载与服务 137 | 138 | *使用 shell 脚本编写的自架、轻量级服务器与网络工具。* 139 | 140 | * [aria2](https://github.com/aria2/aria2) - aria2 是一款在命令行中操作的轻量级多协议、多来源、及跨平台下载工具,它支持 HTTP/HTTPS、FTP、BitTorrent 及 Metalink 141 | * [balls](https://github.com/jneen/balls) - Bash on Balls,全功能的 web 平台 142 | * [bashttpd](https://github.com/avleen/bashttpd) - 使用 Bash 编写的 web 服务器 143 | * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" 或 "双向目录同步(含正确删除)" 144 | * [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader 是用来从 Dropbox 上传、下载、列出或删除文件的 Bash 脚本 145 | * [httpie](https://github.com/jakubroztocil/httpie) - HTTPie 是一个命令行 HTTP 客户端,用户友好的 cURL 替代品 146 | * [http-server](https://www.npmjs.com/package/http-server) - http-server可以启动一个轻量级的http服务 147 | * [ngincat](https://github.com/jaburns/ngincat) - 使用 netcat 的微型 Bash HTTP 服务器 148 | * [resty](https://github.com/micha/resty) - 你可以在管道中使用的小型命令行 REST 客户端 149 | * [youtube-dl](https://github.com/rg3/youtube-dl) - 从 YouTube.com 及其它视频站点下载视频的小命令行程序 150 | * [coursera-dl](https://github.com/coursera-dl/coursera-dl) - 从Course公开课上下载视频 151 | 152 | ## 多媒体与文件格式 153 | 154 | *用于处理视频及音频文件的工具。* 155 | 156 | * [adb-export](https://github.com/sromku/adb-export) - 导出 Android 内容提供商为 CSV 格式 157 | * [Android-Kitchen](https://github.com/dsixda/Android-Kitchen) - 基于文本的 Android ROM 定制 kitchen,使用 shell 脚本并支持 Cygwin/OS X/Linux 158 | * [Beets](https://github.com/beetbox/beets) - 音乐库管理器及 MusicBrainz 标签工具 159 | * [cmus](https://github.com/cmus/cmus) - 跨平台的命令行音乐播放器 160 | * [gifgen](https://github.com/lukechilds/gifgen) - 简单高质量的 GIF 编码 161 | * [image-scraper](https://github.com/sananth12/ImageScraper) - 包含诸多特性的酷命令行图像 scraper 162 | * [jq](https://github.com/stedolan/jq) - 针对 json 数据的 Sed,你可以使用它分片、过滤、映射及变换结构化数据 163 | * [csvtookit](https://csvkit.readthedocs.io/en/0.9.1/) - 使用pip install csvki安装, csv文件进行处理的强大工具 164 | * [mplayer](http://www.mplayerhq.hu/design7/news.html) - 让你在 shell 中播放主流的音频及视频格式(使用 ASCII 字符) 165 | * [nehm](https://github.com/bogem/nehm) - 下载、设置 IDv3 标签、并添加到 iTunes 的控制台工具 166 | * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST 将你的 35 刀 Raspberry Pi 变成类 Chromecast 设备 167 | * [sejda](https://github.com/torakiki/sejda/) - 命令行下的 PDF 文档处理工具(分割、合并、旋转、转换为 jpg、提取文本等) 168 | * [xmlstarlet](http://xmlstar.sourceforge.net/) - 古老而强大的命令行 XML 格式化、过滤及处理工具 169 | * [ffmpeg](http://ffmpeg.org/) - 非常强大的视频处理工具 170 | * [imagmMagick](http://www.imagemagick.org/script/index.php) - 其强大有目共睹 171 | 172 | ## 应用程序 173 | 174 | *基于命令行的应用程序或从命令行访问现有服务。* 175 | 176 | * [ansiweather](https://github.com/fcambus/ansiweather) - 终端中的天气预报,包含 ANSI 颜色及 Unicode 符号 177 | * [bashblog](https://github.com/cfenollosa/bashblog) - 处理 blog 投递的 Bash 脚本 178 | * [choosealicense-cli](https://github.com/lord63/choosealicense-cli) - 从终端选授權合約 179 | * [facy](https://github.com/huydx/facy) - 命令行下的 Facebook 客户端 180 | * [fanyi](https://github.com/afc163/fanyi) - 翻译英文为中文的命令行工具 181 | * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - 命令行的 Evernote 客户端 182 | * [haxor-news](https://github.com/donnemartin/haxor-news) - 像黑客一样浏览 Hacker News 183 | * [hn-cli](https://github.com/rafaelrinaldi/hn-cli) - 从终端舒服的浏览 Hacker News 184 | * [iponmap](https://github.com/nogizhopaboroda/iponmap) - 利用 IP 地址在世界地图上绘点 185 | * [isitup](https://github.com/lord63/isitup) - 检查一个网站是否正常上线 186 | * [jrnl](https://github.com/maebert/jrnl) - 使用无格式文本文件存储日记的简单命令行程序 187 | * [ledger](https://github.com/ledger/ledger) - 命令行记账 188 | * [licen](https://github.com/lord63/licen) - 生成项目 license 189 | * [moviemon](https://github.com/iCHAIT/moviemon) - 有关在命令行下看电影的每样东东 190 | * [pushblast](https://github.com/alebcay/pushblast) - 当 shell 程序退出时获得 PushBullet 通知 191 | * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - PushBullet API 的 Bash 接口 192 | * [Reddit Terminal Viewer](https://github.com/michael-lazar/rtv) - 从终端浏览 Reddit 193 | * [SAWS](https://github.com/donnemartin/saws) - 超强的 AWS 命令行界面 194 | * [taskwarrior](https://taskwarrior.org/) - 一个命令行去做列表管理器 195 | * [transfer.sh](https://transfer.sh/) — 从 shell 快速上传并分享文件 196 | * [vl](https://github.com/ellisonleao/vl) - 针对文本文档的 URL 链接检查器 197 | * [wego](https://github.com/schachmat/wego) - 适用于终端的天气预报应用 198 | * [whereami](https://github.com/rafaelrinaldi/whereami) - 从命令行获得你的地理位置信息 199 | * [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page) - SSH防爆破 200 | 201 | ## 游戏 202 | 203 | *只顾工作而不玩玩是一种糟糕的度日方式。* 204 | 205 | * [bash2048](https://github.com/mydzor/bash2048) - 2048 游戏的 Bash 实现 206 | * [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - 扫雷的 Bash 实现 207 | * [sedtris](https://github.com/uuner/sedtris) - 使用 sed 实现的俄罗斯方块 208 | * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - 使用 sed 编写的 Arkanoid 和 Sokoban 209 | 210 | ## Shell 包管理 211 | 212 | *用于管理多个 shell 配置的工具。对于特定的 zsh 工具,参阅 Zsh 节。* 213 | 214 | * [bash-it](https://github.com/Bash-it/bash-it) - 社区化的 Bash 框架 215 | * [basher](https://github.com/basherpm/basher) - 针对 shell 脚本的包管理器 216 | * [bpkg](http://www.bpkg.io/) - JavaScript 有 npm、Ruby 有 Gems、Python 有 pip,现在 Shell 有 bpkg 217 | * [dotfiler](https://github.com/svetlyak40wt/dotfiler) – 使用 Python 编写的基于 Git 的 Shell dotfiles 管理器 218 | * [fresh](https://github.com/freshshell/fresh) - 使你的 dotfiles 保持更新 219 | * [homeshick](https://github.com/andsens/homeshick) - 使用 Bash 编写的 Git dotfile 同步器 220 | * [vcsh](https://github.com/RichiH/vcsh) - 基于 Git 的配置管理器 221 | * [shundle](https://github.com/javier-lopez/shundle) - 适用于 shell 脚本的插件管理器 222 | 223 | ## Shell 脚本开发 224 | 225 | *用于编写、改进、及管理 Bash 或其它 shell 脚本的工具。* 226 | 227 | * [ansi](https://github.com/fidian/ansi) - 使用纯 Bash 实现的 ANSI 转义码,包括更改文本颜色、定位光标等等 228 | * [assert.sh](https://github.com/lehmannro/assert.sh) - Bash 单元测试框架 229 | * [bashful](https://github.com/jmcantrell/bashful) - 简化编写 Bash 脚本的库收集 230 | * [bashmanager](https://github.com/lingtalfi/bashmanager) - 用来创建命令行工具的微型 Bash 框架 231 | * [bats](https://github.com/sstephenson/bats) - Bash 自动化测试系统 232 | * [Fishtape](https://github.com/fisherman/fishtape) - 适用于 fish 的 TAP 产生器及测试工具 233 | * [composure](https://github.com/erichs/composure) - 撰写、文档、版本、及组织你的 shell 函数 234 | * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - 使用 50 行可移植 shell 脚本写成的命令行参数解析器 235 | * [is.sh](https://github.com/qzb/is.sh) - 内置 test 命令的替代品,使 "if" 语句更漂亮 236 | * [mo](https://github.com/tests-always-included/mo) - 使用纯 Bash 实现的 Mustache 模板 237 | * [optparse](https://github.com/nk412/optparse) - 针对 getopts 的 BASH wrapper,用于简单的命令行参数 238 | * [rerun](https://github.com/rerun/rerun) - 用来管理保留脚本的模块化 shell 自动化框架 239 | * [semver_bash](https://github.com/cloudflare/semver_bash) - 使用 Bash 实现的语义化版本 240 | * [sh-semver] (https://github.com/qzb/sh-semver) - 适用于 bash 的 Semver 工具,匹配指定规则来查找版本 241 | * [shellcheck](https://github.com/koalaman/shellcheck) - 针对 shell 脚本的静态化分析工具 242 | * [shellfire](https://github.com/shellfire-dev/shellfire) - 命名空间仓库,可写 shell (bash、sh 及 dash) 函数库 243 | * [shpec](https://github.com/rylnd/shpec) - shell 测试框架 244 | * [sub](https://github.com/basecamp/sub) - 以美味之道来管理程序 245 | * [ts](https://github.com/thinkerbot/ts) - shell 测试脚本 246 | * [shunit2](https://github.com/kward/shunit2) - 适用于 Bash 脚本的单元测试框架(具有 JUnit/PyUnit 风味) 247 | * [rebash](https://github.com/jandob/rebash) - 脚本库/框架,包含 imports、exceptions、doc-tests 等功能 248 | 249 | 250 | # 指南 251 | 252 | * [Bash 黑客的维基](http://wiki.bash-hackers.org/) 253 | * [Greg Wooledge(又名 "greycat")的维基](http://mywiki.wooledge.org):尤其是 [Bash 指南](http://mywiki.wooledge.org/BashGuide)、[Bash 疑难问答](http://mywiki.wooledge.org/BashFAQ) 及 [Bash 陷阱](http://mywiki.wooledge.org/BashPitfalls) 254 | * [Google 的 Shell 风格指南](https://google.github.io/styleguide/shell.xml) 255 | * [Linux 文档项目: Bash 编程 - 简介/如何做](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc) 256 | * [Linux 文档项目: 高级 Bash 脚本指南](http://www.tldp.org/LDP/abs/html/) 257 | * [WikiBooks: Bash Shell 脚本](https://en.wikibooks.org/wiki/Bash_Shell_Scripting) 258 | * [使用非官方的 Bash 严格模式 (除非你爱调试)](http://redsymbol.net/articles/unofficial-bash-strict-mode/) 259 | * [命令行的艺术](https://github.com/jlevy/the-art-of-command-line) 260 | * [学会成为命令行杀手](https://www.learnenough.com/command-line-tutorial) 261 | * [学习bash的指南](https://github.com/Idnan/bash-guide) 262 | 263 | 264 | # 其它 Awesome 清单 265 | 266 | 其它很棒的 awesome 清单可在 [awesome-awesome](https://github.com/emijrp/awesome-awesome) 和 [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) 找到。 267 | 268 | 269 | [awesome-zsh]: https://github.com/unixorn/awesome-zsh-plugins 270 | [awesome-fish]: https://github.com/jbucaran/awesome-fish 271 | [awesome-link]: https://github.com/sindresorhus/awesome 272 | [awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg 273 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | █████╗ ██╗ ██╗███████╗███████╗ ██████╗ ███╗ ███╗███████╗ 3 | ██╔══██╗██║ ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝ 4 | ███████║██║ █╗ ██║█████╗ ███████╗██║ ██║██╔████╔██║█████╗ 5 | ██╔══██║██║███╗██║██╔══╝ ╚════██║██║ ██║██║╚██╔╝██║██╔══╝ 6 | ██║ ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗ 7 | ╚═╝ ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝ ╚═╝╚══════╝ 8 | ███████╗██╗ ██╗███████╗██╗ ██╗ 9 | ██╔════╝██║ ██║██╔════╝██║ ██║ 10 | ███████╗███████║█████╗ ██║ ██║ 11 | ╚════██║██╔══██║██╔══╝ ██║ ██║ 12 | ███████║██║ ██║███████╗███████╗███████╗ 13 | ╚══════╝╚═╝ ╚═╝╚══════╝╚══════╝╚══════╝ 14 | ``` 15 | 16 | # Awesome Shell [![Awesome][awesome-badge]][awesome-link] 17 | 18 | A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php. This awesome collection is also available on [Unix-Shell.ZEEF.com](https://unix-shell.zeef.com/caleb.xu). 19 | - [Shells](#shells) 20 | - [Command-Line Productivity](#command-line-productivity) 21 | - [Customization](#customization) 22 | - [For Developers](#for-developers) 23 | - [System Utilities](#system-utilities) 24 | - [Downloading and Serving](#downloading-and-serving) 25 | - [Multimedia and File Formats](#multimedia-and-file-formats) 26 | - [Applications](#applications) 27 | - [Games](#games) 28 | - [Shell Package Management](#shell-package-management) 29 | - [Shell Script Development](#shell-script-development) 30 | - [Guides](#guides) 31 | - [**Awesome Zsh**][awesome-zsh]  [![Awesome][awesome-badge]][awesome-zsh] 32 | - [**Awesome Fish**][awesome-fish] [![Awesome][awesome-badge]][awesome-fish] 33 | - [Other Awesome Lists](#other-awesome-lists) 34 | 35 | ## Shells 36 | 37 | *Choose your base shell.* 38 | 39 | * [bash](https://www.gnu.org/software/bash/) - GNU Project's shell (Bourne Again SHell) 40 | * [fish](https://fishshell.com) - Smart and user-friendly command line shell 41 | * [xiki](http://xiki.org) - Makes the shell console more friendly and powerful 42 | * [xonsh](https://xonsh.org) - Python-ish, BASHwards-looking shell language and command prompt 43 | * [zsh](http://www.zsh.org) - Powerful shell with scripting language 44 | 45 | ## Command-Line Productivity 46 | 47 | *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.* 48 | 49 | * [ag](https://github.com/ggreer/the_silver_searcher) - Super fast string search through a directory hierarchy 50 | * [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for bash 51 | * [aliasme](https://github.com/Jintin/aliasme) - alias helper to change directory quickly 52 | * [autoenv](https://github.com/kennethreitz/autoenv) - Directory-based environments 53 | * [autojump](https://github.com/wting/autojump) - A cd command that learns - easily navigate directories from the command line 54 | * [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: Bash history in the cloud. Indexed and searchable. 55 | * [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell 56 | * [bd](https://github.com/vigneshwaranr/bd) - Quickly go back to a parent directory 57 | * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. 58 | * [boom](https://github.com/holman/boom) - Store links and snippets in the commandline 59 | * [borg](https://github.com/ok-borg/borg) - A terminal based search engine for bash commands 60 | * [Buku](https://github.com/jarun/Buku) - Powerful command-line bookmark manager 61 | * [byobu](http://byobu.co/) - Text-based window manager and terminal multiplexer 62 | * [commacd](https://github.com/shyiko/commacd) - A faster way to move around in Bash 63 | * [desk](https://github.com/jamesob/desk) - A lightweight workspace manager for the shell 64 | * [direnv](https://github.com/direnv/direnv) - An environment switcher for the shell, compare with autoenv 65 | * [enhancd](https://github.com/b4b4r07/enhancd) - :rocket: A next-generation cd command with an interactive filter 66 | * [fasd](https://github.com/clvv/fasd) - Command-line productivity booster, offers quick access to files and directories 67 | * [foxy](https://github.com/s-p-k/foxy) - Plain text bookmarks for firefox and surf browsers. 68 | * [fz](https://github.com/changyuheng/fz) - Seamless fuzzy tab completion for z 69 | * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder 70 | * [googler](https://github.com/jarun/googler) - Google Search, Google Site Search, Google News from the terminal 71 | * [hhighlighter](https://github.com/paoloantinori/hhighlighter) - Colorize words in a command output 72 | * [hr](https://github.com/LuRsT/hr) - `
` for your terminal 73 | * [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box 74 | * [k](https://github.com/supercrabtree/k) - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates 75 | * [k alias](https://github.com/lingtalfi/k) - get kool aliases (and more) working with a simple one-liner 76 | * [marker](https://github.com/pindexis/marker) - Bookmark your shell commands 77 | * [modules](http://modules.sourceforge.net/) - Environment manager for the shell (compare to direnv and autoenv) 78 | * [nnn](https://github.com/jarun/nnn) - File browser and disk usage analyzer with excellent desktop integration 79 | * [parallel](http://www.gnu.org/software/parallel/) - Build and execute shell command lines from standard input in parallel 80 | * [pathpicker](https://github.com/facebook/PathPicker) - Accepts inputs like grep, searches, git etc; allows selecting files from the result of the input, which you can then open or provide as argument to a command. 81 | * [percol](https://github.com/mooz/percol) - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell 82 | * [qfc](https://github.com/pindexis/qfc) - File-completion widget for Bash and Zsh 83 | * [rg](https://github.com/BurntSushi/ripgrep) - ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep 84 | * [SHML](https://github.com/odb/shml) - Style framework for the terminal (Shell Markup Language) 85 | * [slugify](https://github.com/benlinton/slugify) - Command that converts filenames and directories to a web friendly format 86 | * [sman](https://github.com/tokozedg/sman) - :bug: A command-line snippet manager 87 | * [spark](https://github.com/holman/spark) - ▁▂▃▅▂▇ in your shell 88 | * [Shark](https://github.com/fisherman/shark) - ▁▂▃▅ Sparkline Generator 89 | * [sheet](https://github.com/oscardelben/sheet) - Text snippets for the command line 90 | * [spot](https://github.com/rauchg/spot) - Tiny file search utility 91 | - [snips](https://github.com/srijanshetty/snips) - Commandline tool to manage snippets of code. 92 | * [sshfs](https://github.com/osxfuse/sshfs) - A tool for mounting remote file systems over SSH 93 | * [sshrc](https://github.com/Russell91/sshrc) - Bring your .bashrc, .vimrc, etc. with you when you SSH 94 | * [sudocabulary](https://github.com/badarsh2/Sudocabulary) - Learn English Vocabulary from your terminal 95 | * [surfraw](http://surfraw.alioth.debian.org/) - browse specific site and search the web from your terminal without browser. 96 | * [thefuck](https://github.com/nvbn/thefuck) - Fix common shell mistakes by using an easy to remember command 97 | * [tldr](https://github.com/raylee/tldr) - A fully-functional bash client for tldr, simplified and community-driven man pages 98 | * [tmux](http://tmux.github.io/) - Amazing terminal multiplexer 99 | * [up](https://github.com/shannonmoeller/up) - Ascend directories by name or count; for bash, zsh, and fish. 100 | * [v](https://github.com/rupa/v) - z for vim. 101 | * [wemux](https://github.com/zolrath/wemux) - Multi-User Tmux Made Easy 102 | * [z](https://github.com/rupa/z) - z is the new j, yo 103 | 104 | ## Customization 105 | 106 | *Custom prompts, color themes, etc.* 107 | 108 | * [base16-builder](https://github.com/base16-builder/base16-builder) - Base16-Builder 109 | * [bash-full-of-colors](https://github.com/slomkowski/bash-full-of-colors) - Powerful prompt with screen, tmux, git support and many more 110 | * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy Bash prompt for Git users 111 | * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script 112 | * [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up OSX terminal 113 | * [bullet-train-oh-my-zsh-theme](https://github.com/caiogondim/bullet-train.zsh) - :bullettrain_side: An oh-my-zsh shell theme based on the Powerline Vim plugin 114 | * [emojify](https://github.com/mrowa44/emojify) Emoji on the command line :scream: 115 | * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - Nicer colors for terminal 116 | * [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules 117 | * [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases 118 | * [Gogh - Color Scheme](https://github.com/Mayccoll/Gogh) - Color Scheme for Gnome Terminal 119 | * [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh 120 | * [mysql-colorize](https://github.com/zpm-zsh/mysql-colorize) - Colorization for mysql comand-line client 121 | * [oh-my-git](https://github.com/arialdomartini/oh-my-git) - An opinionated git prompt for bash and zsh 122 | * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches 123 | 124 | ## For Developers 125 | 126 | *Command-line development, version control, and deployment.* 127 | 128 | * [bcal](https://github.com/jarun/bcal) - Byte CALculator for storage conversions and calculations 129 | * [bocker](https://github.com/p8952/bocker) - Docker implemented in 100 lines of bash 130 | * [cloc](https://github.com/AlDanial/cloc) - Count Lines of Code 131 | * [dokku](https://github.com/dokku/dokku) - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen. 132 | * [getopts](https://github.com/fisherman/getopts) - CLI parser for fish 133 | * [git-extra-commands](https://github.com/unixorn/git-extra-commands) - Many Git extra utilities. Churn, cut-branch, improved-merge and many more. 134 | * [git-extras](https://github.com/tj/git-extras) - Git utilities -- repo summary, repl, changelog population, author commit percentages and more 135 | * [git-open](https://github.com/paulirish/git-open) - Type `git open` to open the GitHub page or website for a repository in your browser 136 | * [git-semver](https://github.com/markchalloner/git-semver) - Git plugin for easing semantic versioning and changelog validation 137 | * [git-sh](https://github.com/rtomayko/git-sh) - A customized Bash environment suitable for Git work 138 | * [git-up](https://github.com/aanand/git-up) - Automatically rebase incoming changes instead of merging. Be polite! 139 | * [hub](https://github.com/github/hub) - hub helps you win at git. 140 | * [mr](https://github.com/joeyh/myrepos) - Multiple Repository management tool 141 | * [overcommit](https://github.com/brigade/overcommit) - A fully configurable and extendable Git hook manager 142 | * [pre-commit](http://pre-commit.com) - A framework for managing and maintaining multi-language pre-commit hooks 143 | * [repren](https://github.com/jlevy/repren) - Command-line search-and-replace and file-renaming swiss army knife 144 | * [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor that runs on Node.js 145 | * [shipit](https://github.com/sapegin/shipit) - Minimalistic SSH deployment 146 | * [starring](https://github.com/ritz078/starring) - Automatically star the npm-packages that you are using on GitHub. 147 | * [tag](https://github.com/aykamko/tag) - Instantly jump to your ag matches. 148 | 149 | ## System Utilities 150 | 151 | *OS-related tools, including system administration, system debugging, and file and process management.* 152 | 153 | * [atop](https://www.atoptool.nl) - ASCII full-screen performance monitor that is capable of reporting the activity of all processes 154 | * [ccat](https://github.com/jingweno/ccat) - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting. 155 | * [colorex](https://bitbucket.org/linibou/colorex/wiki/Home) - Displays files or sdtin with pretty colors for matched patterns. 156 | * [progress](https://github.com/Xfennec/progress) - Linux tool to show progress for cp, rm, dd, ... 157 | * [glances](https://github.com/nicolargo/glances) - Glances an Eye on your system 158 | * [goaccess](https://github.com/allinurl/goaccess) - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in \*nix systems. 159 | * [histstat](https://github.com/vesche/histstat) - History for netstat 160 | * [htop](https://github.com/hishamhm/htop) - A ncurses based interactive process viewer which aims to be a better `top` 161 | * [lnav](http://lnav.org) - An advanced log file viewer for the small-scale 162 | * [ls++](https://github.com/trapd00r/ls--) - Colorized ls on steroids 163 | * [lsp](https://github.com/dborzov/lsp) - An improved `ls`, with file descriptions in plain language and intelligent file grouping 164 | * [mtr](https://github.com/traviscross/mtr) - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool. 165 | * [ncdu](https://dev.yorhel.nl/ncdu) - NCurses Disk Usage 166 | * [powertop](https://github.com/fenrus75/powertop) - Battery/Power usage and device stats monitoring command-line tool, with tune-up options. 167 | * [procdog](https://github.com/jlevy/procdog) - Lightweight command-line control of long-lived processes like servers 168 | * [quick-secure](https://github.com/marshyski/quick-secure) - Quickly secure and harden UNIX/Linux systems 169 | 170 | ## Downloading and Serving 171 | 172 | *Self-hosted, lightweight servers and networking tools written in shell scripts.* 173 | 174 | * [aria2](https://github.com/aria2/aria2) - aria2 is a lightweight multi-protocol & multi-source, cross platform download utility operated in command-line. It supports HTTP/HTTPS, FTP, BitTorrent and Metalink 175 | * [balls](https://github.com/jneen/balls) - Bash on Balls 176 | * [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash 177 | * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion" 178 | * [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox 179 | * [httpie](https://github.com/jakubroztocil/httpie) - HTTPie is a command line HTTP client, a user-friendly cURL replacement 180 | * [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat 181 | * [resty](https://github.com/micha/resty) - Little command line REST client that you can use in pipelines 182 | * [youtube-dl](https://github.com/rg3/youtube-dl) - Small command-line program to download videos from YouTube.com and other video sites 183 | 184 | ## Multimedia and File Formats 185 | 186 | *Tools for handling video and audio files.* 187 | 188 | * [adb-export](https://github.com/sromku/adb-export) - Export Android content providers to CSV format 189 | * [Android-Kitchen](https://github.com/dsixda/Android-Kitchen) - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux 190 | * [Beets](https://github.com/beetbox/beets) - Music library manager and MusicBrainz tagger 191 | * [cmus](https://github.com/cmus/cmus) - Cross-platform cli audio player. 192 | * [gifgen](https://github.com/lukechilds/gifgen) - Simple high quality GIF encoding 193 | * [image-scraper](https://github.com/sananth12/ImageScraper) - A cool command line image scraper with a lot of features. 194 | * [imgp](https://github.com/jarun/imgp) - Blazing fast batch image resizer and rotator 195 | * [jq](https://github.com/stedolan/jq) - Sed for json data. You can use it to slice and filter and map and transform structured data 196 | * [mplayer](http://www.mplayerhq.hu/design7/news.html) - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI. 197 | * [nehm](https://github.com/bogem/nehm) - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way 198 | * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device 199 | * [sejda](https://github.com/torakiki/sejda/) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc) 200 | * [xidel](https://github.com/benibela/xidel/) - Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery. 201 | * [xmlstarlet](http://xmlstar.sourceforge.net/) - Old but powerful tool for command-line XML formatting, filtering, and manipulation. 202 | 203 | ## Applications 204 | 205 | *Command line-based applications or command line access to existing services.* 206 | 207 | * [ansiweather](https://github.com/fcambus/ansiweather) - Weather in your terminal, with ANSI colors and Unicode symbols 208 | * [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting 209 | * [choosealicense-cli](https://github.com/lord63/choosealicense-cli) - Choose an OSS license from the comfort of your terminal 210 | * [facy](https://github.com/huydx/facy) - Command line power tool for facebook 211 | * [fanyi](https://github.com/afc163/fanyi) - Translate English to Chinese in terminal 212 | * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - Command line evernote client 213 | * [haxor-news](https://github.com/donnemartin/haxor-news) - Browse Hacker News like a haxor 214 | * [hn-cli](https://github.com/rafaelrinaldi/hn-cli) - Browse Hacker News from the comfort of your Terminal 215 | * [iponmap](https://github.com/nogizhopaboroda/iponmap) - Draw point on world map using ip address 216 | * [isitup](https://github.com/lord63/isitup) - Check whether a website is up or down 217 | * [jrnl](https://github.com/maebert/jrnl) - A simple command line journal application that stores your journal in a plain text file 218 | * [ledger](https://github.com/ledger/ledger) - Command line accounting 219 | * [licen](https://github.com/lord63/licen) - Generate your license. Yet another lice, but implement with Jinja2 and docopt 220 | * [moviemon](https://github.com/iCHAIT/moviemon) - Everything about your movies within the command line. 221 | * [pockyt](https://github.com/arvindch/pockyt) - Read, Manage, and Automate your [Pocket](https://getpocket.com) collection. 222 | * [pushblast](https://github.com/alebcay/pushblast) - Get PushBullet notifications when a shell program exits 223 | * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API 224 | * [Reddit Terminal Viewer](https://github.com/michael-lazar/rtv) - Browse Reddit from your terminal 225 | * [SAWS](https://github.com/donnemartin/saws) - A Supercharged AWS CLI 226 | * [taskwarrior](https://taskwarrior.org/) - A command-line TODO list manager 227 | * [terjira](https://github.com/keepcosmos/terjira) - Command line power tool for Jira 228 | * [transfer.sh](https://transfer.sh/) — Quickly upload and share files from your shell 229 | * [vl](https://github.com/ellisonleao/vl) - URL link checker on text documents 230 | * [wego](https://github.com/schachmat/wego) - Weather app for the terminal 231 | * [whereami](https://github.com/rafaelrinaldi/whereami) - Get your geolocation information from the CLI 232 | 233 | ## Games 234 | 235 | *All work and no play is a cruddy way to spend your day.* 236 | 237 | * [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game 238 | * [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - Bash implementation of minesweeper 239 | * [nudoku](https://github.com/jubalh/nudoku) - ncurses based sudoku game written in C 240 | * [sedtris](https://github.com/uuner/sedtris) - Tetris in sed 241 | * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - Arkanoid and Sokoban written using sed 242 | * [tty-solitaire](https://github.com/mpereira/tty-solitaire) - Play solitaire in your terminal! 243 | 244 | ## Shell Package Management 245 | 246 | *Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.* 247 | 248 | * [bash-it](https://github.com/Bash-it/bash-it) - A community Bash framework 249 | * [basher](https://github.com/basherpm/basher) - A package manager for shell scripts 250 | * [bpkg](http://www.bpkg.io/) - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg 251 | * [dotdrop](https://github.com/deadc0de6/dotdrop) - Save your dotfiles once, deploy them everywhere 252 | * [dotfiler](https://github.com/svetlyak40wt/dotfiler) – Shell agnostic git based dotfiles package manager, written in Python. 253 | * [fresh](https://github.com/freshshell/fresh) - Keep your dotfiles fresh 254 | * [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash 255 | * [shundle](https://github.com/javier-lopez/shundle) - Plugin manager for shell scripts 256 | * [vcsh](https://github.com/RichiH/vcsh) - Config manager based on Git 257 | * [yadm](https://thelocehiliosan.github.io/yadm/) - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping 258 | 259 | ## Shell Script Development 260 | 261 | *Tools for writing, improving, or organizing Bash or other shell scripts* 262 | 263 | * [ansi](https://github.com/fidian/ansi) - ANSI escape codes in pure bash - change text color, position the cursor, much more 264 | * [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework 265 | * [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts 266 | * [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools 267 | * [bashwithnails](https://github.com/mindaugasbarysas/bashwithnails) - a Bash framework written just for fun with testing, dependency management & packaging 268 | * [bats](https://github.com/sstephenson/bats) - Bash Automated Testing System 269 | * [crash](https://github.com/molovo/crash) - Proper error handling, exceptions and try/catch for ZSH 270 | * [Fishtape](https://github.com/fisherman/fishtape) - TAP producer and test harness for fish 271 | * [composure](https://github.com/erichs/composure) - Compose, document, version and organize your shell functions 272 | * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - A command line argument parser in 50 lines of portable shell script. 273 | * [is.sh](https://github.com/qzb/is.sh) - An alternative for builtin test command, it will make your "if" statements pretty 274 | * [lumberjack](https://github.com/molovo/lumberjack) - A logging interface for shell scripts 275 | * [mo](https://github.com/tests-always-included/mo) - Mustache templates in pure bash 276 | * [optparse](https://github.com/nk412/optparse) - A BASH wrapper for getopts, for simple command line arguments. 277 | * [rerun](https://github.com/rerun/rerun) - A modular shell automation framework to organize your keeper scripts 278 | * [revolver](https://github.com/molovo/revolver) - A reusable progress spinner for shell scripts 279 | * [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash 280 | * [sh-semver] (https://github.com/qzb/sh-semver) - Semver tool for bash - finds versions matching to specified rules 281 | * [shellcheck](https://github.com/koalaman/shellcheck) - Static analysis tool for shell scripts 282 | * [shellfire](https://github.com/shellfire-dev/shellfire) - A repository of namespaced, composable shell (bash, sh and dash) function libraries 283 | * [shpec](https://github.com/rylnd/shpec) - A shell testing framework 284 | * [shutit](https://ianmiell.github.io/shutit/) - Automation framework based on bash and pexpect 285 | * [sub](https://github.com/basecamp/sub) - A delicious way to organize programs 286 | * [ts](https://github.com/thinkerbot/ts) - A shell test script 287 | * [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit. 288 | * [rebash](https://github.com/jandob/rebash) - Scripting library/framework. Features: imports, exceptions, doc-tests ... 289 | * [zunit](https://github.com/molovo/zunit) - A powerful unit testing framework for ZSH 290 | 291 | # Guides 292 | 293 | * [Bash Hackers Wiki](http://wiki.bash-hackers.org/) 294 | * [Greg Wooledge's (aka "greycat") wiki](http://mywiki.wooledge.org). 295 | Specifically [Bash Guide](http://mywiki.wooledge.org/BashGuide), [Bash FAQ](http://mywiki.wooledge.org/BashFAQ) and [Bash Pitfalls](http://mywiki.wooledge.org/BashPitfalls) 296 | * [Google's Shell Style Guide](https://google.github.io/styleguide/shell.xml) 297 | * [The Linux Documentation Project: Bash Programming - Intro/How-to](http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html#toc) 298 | * [The Linux Documentation Project: Advanced Bash Scripting Guide](http://www.tldp.org/LDP/abs/html/) 299 | * [WikiBooks: Bash Shell Scripting](https://en.wikibooks.org/wiki/Bash_Shell_Scripting) 300 | * [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)](http://redsymbol.net/articles/unofficial-bash-strict-mode/) 301 | * [The Art of Command Line](https://github.com/jlevy/the-art-of-command-line) 302 | * [Learn Enough Command Line to Be Dangerous](https://www.learnenough.com/command-line-tutorial) 303 | * [A guide to learn bash](https://github.com/Idnan/bash-guide) 304 | 305 | # Other Awesome Lists 306 | 307 | Other amazingly awesome lists can be found in [awesome-awesome](https://github.com/emijrp/awesome-awesome) and [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness). 308 | 309 | ### See also 310 | 311 | * [awesome-cli-apps](https://github.com/aharris88/awesome-cli-apps) 312 | * [awesome-fish][awesome-fish] 313 | * [awesome-zsh][awesome-zsh] 314 | * [terminals-are-sexy](https://github.com/k4m4/terminals-are-sexy) 315 | 316 | [awesome-badge]: https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg 317 | [awesome-fish]: https://github.com/jbucaran/awesome-fish 318 | [awesome-link]: https://github.com/sindresorhus/awesome 319 | [awesome-zsh]: https://github.com/unixorn/awesome-zsh-plugins 320 | --------------------------------------------------------------------------------