├── .github
└── workflows
│ └── ci.yml
├── CONTRIBUTING.md
├── LICENSE
├── README.md
└── README_ZH-CN.md
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: GitHub Actions CI
2 | on:
3 | push:
4 | branches: master
5 | pull_request:
6 |
7 | jobs:
8 | check_links:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - name: Checkout
12 | uses: actions/checkout@v4
13 |
14 | - name: Check links
15 | id: lychee
16 | uses: lycheeverse/lychee-action@v1
17 | with:
18 | args: README.md README_ZH-CN.md --verbose --no-progress --exclude www.passwordstore.org/*
19 | env:
20 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
21 |
22 | - name: Check lychee exit code
23 | run: exit ${lychee_exit_code}
24 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # Contributing to `awesome-shell`
2 |
3 | > _NOTE:_ This repo has been mostly unpoliced in terms of what has been accepted and was has been turned away up until now, so with the addition of this document, changes to the existing contents of the lists will need to be made. The repo is being re-structured to clean things up a bit, but this is being done gradually, so let me know if you have questions or concerns.
4 |
5 | If you have questions about how to actually submit a pull request via GitHub to contribute content to this list, the [main `awesome` repository](https://github.com/sindresorhus/awesome) has an excellent [guide](https://github.com/sindresorhus/awesome/blob/master/contributing.md#adding-something-to-an-awesome-list) that walks through the steps. This document, meanwhile, is intended more for prospective contributors to define the scope of this project and outline guidelines for accepting or rejecting things from the repository.
6 |
7 | ## Criteria for inclusion in `awesome-shell`
8 |
9 | Inclusion of projects and entries in the list are based primarily upon _scope_ of the project, book, link, etc. that is being considered, and, for code/tools/projects on GitHub, _notability_ of the project.
10 |
11 | ### Scope
12 | `awesome-shell` is a list of helpful links, tools, projects, frameworks, and resources for shell development and usage.
13 |
14 | #### Accepted
15 |
16 | - *CLI apps* of any kind are acceptable. They do not have to be written in a shell script (e.g. Bash, Fish, Zsh) to be accepted.
17 | - *Shell extensions/plugins* are acceptable. If the item in consideration doesn't depend on a particular package manager/shell, it can go in a suitable category; otherwise (i.e. if it is only applicable to a certain shell or depends on a certain package manager that depends on a certain shell, such as Oh-My-Zsh) it should go in the category for that shell.
18 | - *Guides* or *tutorials* for shell scripting in general or particular shells are welcome.
19 |
20 | #### Rejected
21 |
22 | - *Terminal emulators*, such as Hyper, iTerm2, Upterm, etc. should be submitted to [`terminals-are-sexy`](https://github.com/k4m4/terminals-are-sexy) instead.
23 |
24 | This list may be expanded and moved around as the situation changes or new cases arise.
25 |
26 | ### Notability
27 | - It is *acceptable* to submit items/links/guides/projects that you authored or developed on your own. Self-promotion is okay!
28 | - GitHub projects must have _at least_ 50 stars to be considered for inclusion. This applies to both projects authored by others but submitted by you as well as any projects that you developed or authored yourself.
29 |
30 |
31 | Any questions? Feel free to open an issue or email me. This document will be updated to reflect any sort of changes that may occur.
32 |
--------------------------------------------------------------------------------
/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.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 | - [Directory Navigation](#directory-navigation)
22 | - [Customization](#customization)
23 | - [For Developers](#for-developers)
24 | - [System Utilities](#system-utilities)
25 | - [Downloading and Serving](#downloading-and-serving)
26 | - [Multimedia and File Formats](#multimedia-and-file-formats)
27 | - [Applications](#applications)
28 | - [Games](#games)
29 | - [Shell Package Management](#shell-package-management)
30 | - [Shell Script Development](#shell-script-development)
31 | - [Guides](#guides)
32 | - [**Awesome Zsh**][awesome-zsh] [![Awesome][awesome-badge]][awesome-zsh]
33 | - [**Awesome Fish**][awesome-fish] [![Awesome][awesome-badge]][awesome-fish]
34 | - [**Awesome Bash**][awesome-bash] [![Awesome][awesome-badge]][awesome-bash]
35 | - [Other Awesome Lists](#other-awesome-lists)
36 |
37 | ## Shells
38 |
39 | *Choose your base shell.*
40 |
41 | * [bash](https://www.gnu.org/software/bash/) - GNU Project's shell (Bourne Again SHell)
42 | * [elvish](https://elv.sh/) - Friendly, expressive shell features like anonymous functions and data structures
43 | * [es](https://wryun.github.io/es-shell/) - The extensible shell, based on Plan 9's [rc](https://github.com/rakitzis/rc) shell
44 | * [fish](https://fishshell.com) - Smart and user-friendly command line shell
45 | * [ion](https://github.com/redox-os/ion) - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.
46 | * [ksh93](https://github.com/att/ast) - Korn Shell
47 | * [mksh](https://github.com/MirBSD/mksh) - MirBSD Korn Shell
48 | * [murex](https://github.com/lmorg/murex) - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
49 | * [ngs](https://github.com/ngs-lang/ngs) - Fully featured scripting language created specifically for Ops. REPL is being developed.
50 | * [nushell](https://github.com/nushell/nushell) - A modern shell written in Rust
51 | * [oksh](https://github.com/ibara/oksh) - Portable OpenBSD ksh
52 | * [osh](https://www.oilshell.org) - Bash compatible, with new/modern Unix shell language called Oil
53 | * [pdksh](https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/bin/ksh/) - Public domain Korn shell
54 | * [powershell](https://docs.microsoft.com/en-us/powershell/scripting/overview) a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language
55 | * [shell++](https://github.com/alexst07/shell-plus-plus) - Friendly and modern functional and object oriented shell script language
56 | * [shenv](https://github.com/shenv/shenv) - Simple shell version management
57 | * [tcsh](https://www.tcsh.org/) - C shell with file name completion and command line editing
58 | * [xonsh](https://xon.sh) - Python-ish, BASHwards-looking shell language and command prompt
59 | * [yash](https://github.com/magicant/yash) - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history
60 | * [zsh](https://www.zsh.org) - Powerful shell with scripting language
61 |
62 | ## Command-Line Productivity
63 |
64 | *Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.*
65 |
66 | * [AdvancedNewFile](https://github.com/tanrax/terminal-AdvancedNewFile) - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
67 | * [ag](https://github.com/ggreer/the_silver_searcher) - Super fast string search through a directory hierarchy
68 | * [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for bash
69 | * [arttime](https://github.com/reportaman/arttime) - Beauty of text art meets functionality of clock, timer, pomodoro++ time manager
70 | * [autoenv](https://github.com/hyperupcall/autoenv) - Directory-based environments.
71 | * [await](https://github.com/slavaGanzin/await) - single binary that run list of commands in parallel and waits for their termination
72 | * [bartib](https://github.com/nikolassv/bartib) - A simple timetracker for the command line. It saves a log of all tracked activities as a plaintext file and allows you to create flexible reports.
73 | * [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: Bash history in the cloud. Indexed and searchable.
74 | * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates.
75 | * [boom](https://github.com/holman/boom) - Store links and snippets in the command line
76 | * [borg](https://github.com/ok-borg/borg) - A terminal based search engine for bash commands
77 | * [broot](https://github.com/Canop/broot) - A better way to navigate directories
78 | * [browsh](https://github.com/browsh-org/browsh) - The modern text-based browser
79 | * [Buku](https://github.com/jarun/Buku) - Powerful command-line bookmark manager
80 | * [byobu](https://www.byobu.org) - Text-based window manager and terminal multiplexer
81 | * [cod](https://github.com/dim-an/cod) — A completion daemon for shell that learns when you invoke `--help` commands
82 | * [CloudClip](https://github.com/skywind3000/CloudClip) - Your own clipboard in the cloud, copy and paste text with gist between different systems
83 | * [ddgr](https://github.com/jarun/ddgr) - DuckDuckGo from the terminal
84 | * [desk](https://github.com/jamesob/desk) - A lightweight workspace manager for the shell
85 | * [direnv](https://github.com/direnv/direnv) - An environment switcher for the shell, compare with autoenv
86 | * [dnote](https://github.com/dnote/dnote) - A simple command line notebook with multi-device sync and web interface
87 | * [eureka](https://github.com/simeg/eureka/) - :bulb: CLI tool to input and store your ideas without leaving the terminal
88 | * [fasd](https://github.com/clvv/fasd) - Command-line productivity booster, offers quick access to files and directories
89 | * [fd](https://github.com/sharkdp/fd) - A simple, fast and user-friendly alternative to find.
90 | * [foxy](https://github.com/s-p-k/foxy) - Plain text bookmarks for Firefox and surf browsers.
91 | * [fselect](https://github.com/jhspetersson/fselect) - Find files with SQL-like queries.
92 | * [funky](https://github.com/bbugyi200/funky) - Extends functionality of shell functions making them more powerful and flexible.
93 | * [fz](https://github.com/changyuheng/fz) - Seamless fuzzy tab completion for z
94 | * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder
95 | * [gitmux](https://github.com/arl/gitmux) - Show Git status in Tmux status bar
96 | * [googler](https://github.com/jarun/googler) - Google Search, Google Site Search, Google News from the terminal
97 | * [googlr](https://github.com/Astranno/googlr) - Command line tool that lets you search Google from your terminal.
98 | * [has](https://github.com/kdabir/has) - `has` helps you check presence of various command line tools and their versions on path
99 | * [how2](https://github.com/santinic/how2) - `how2` finds the simplest way to do something in a unix shell. It's like `man`, but you can query it in natural language.
100 | * [navi](https://github.com/denisidoro/navi) - An interactive cheatsheet tool for the command-line
101 | * [hhighlighter](https://github.com/paoloantinori/hhighlighter) - Colorize words in a command output
102 | * [hr](https://github.com/LuRsT/hr) - `
` for your terminal
103 | * [hss](https://github.com/six-ddc/hss) - An interactive parallel ssh client featuring autocomplete and asynchronous execution
104 | * [hstr](https://github.com/dvorka/hstr) - Bash History Suggest Box
105 | * [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
106 | * [k alias](https://github.com/lingtalfi/k) - get kool aliases (and more) working with a simple one-liner
107 | * [lf](https://github.com/gokcehan/lf) - Terminal file manager written in Go, inspired by ranger
108 | * [lf.sh](https://github.com/suewonjp/lf.sh) - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
109 | * [lowcharts](https://github.com/juan-leon/lowcharts) - Draw low-resolution graphs in terminal
110 | * [Lmod](https://lmod.readthedocs.io/en/latest/) - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
111 | * [loop](https://github.com/Miserlou/Loop) - Write and control complex loops with as one-liners
112 | * [marker](https://github.com/pindexis/marker) - Bookmark your shell commands
113 | * [mackup](https://github.com/lra/mackup/) - Keep your application settings in sync (OS X/Linux)
114 | * [mcfly](https://github.com/cantino/mcfly) - Fly through your shell history. Great Scot!
115 | * [modules](http://modules.sourceforge.net/) - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
116 | * [nnn](https://github.com/jarun/nnn) - File browser and disk usage analyzer with excellent desktop integration
117 | * [ok-sh](https://github.com/secretGeek/ok-bash) - Do you work on many different projects? And in each project, are there commands you use that are specific to that project? You need a .ok file.
118 | * [parallel](https://www.gnu.org/software/parallel/) - Build and execute shell command lines from standard input in parallel
119 | * [pass](https://www.passwordstore.org/) - Manage passwords from the command line with GPG encryption and optional git integration.
120 | * [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.
121 | * [pdd](https://github.com/jarun/pdd) - Tiny date, time diff calculator with timers
122 | * [percol](https://github.com/mooz/percol) - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
123 | * [q](https://github.com/cal2195/q) - Vim like macro registers for your Bash and Zsh Shell
124 | * [qfc](https://github.com/pindexis/qfc) - File-completion widget for Bash and Zsh
125 | * [resh](https://github.com/curusarn/resh) - Contextual shell history for Zsh and Bash
126 | * [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
127 | * [screen](https://www.gnu.org/software/screen/) - GNU terminal multiplexer
128 | * [shell-history](https://github.com/pawamoy/shell-history) - Visualize your shell usage with Highcharts
129 | * [SHML](https://github.com/odb/shml) - Style framework for the terminal (Shell Markup Language)
130 | * [slugify](https://github.com/benlinton/slugify) - Command that converts filenames and directories to a web friendly format
131 | * [sman](https://github.com/tokozedg/sman) - :bug: A command-line snippet manager
132 | * [spark](https://github.com/holman/spark) - ▁▂▃▅▂▇ in your shell
133 | * [spark.fish](https://github.com/jorgebucaran/spark.fish) - ▁▂▃▅ Sparkline Generator
134 | * [sheet](https://github.com/oscardelben/sheet) - Text snippets for the command line
135 | * [spot](https://github.com/rauchg/spot) - Tiny file search utility
136 | - [snips](https://github.com/srijanshetty/snips) - Command line tool to manage snippets of code.
137 | * [sqlline](https://github.com/julianhyde/sqlline) - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
138 | * [sshfs](https://github.com/osxfuse/sshfs) - A tool for mounting remote file systems over SSH
139 | * [sudocabulary](https://github.com/badarsh2/Sudocabulary) - Learn English Vocabulary from your terminal
140 | * [surfraw](https://gitlab.com/surfraw/Surfraw) - browse specific site and search the web from your terminal without browser.
141 | * [task-manager](https://github.com/lingtalfi/task-manager) - Execute all your scripts with just two or three keystrokes.
142 | * [td-cli](https://github.com/darrikonn/td-cli) - A todo command line manager to organize and manage your todos across multiple projects.
143 | * [tere](https://github.com/mgunyho/tere) - A faster alternative to cd + ls
144 | * [thefuck](https://github.com/nvbn/thefuck) - Fix common shell mistakes by using an easy to remember command
145 | * [tldr](https://github.com/raylee/tldr-sh-client) - A fully-functional bash client for tldr, simplified and community-driven man pages
146 | * [tmux](https://tmux.github.io/) - Amazing terminal multiplexer
147 | * [undollar](https://github.com/xtyrrell/undollar) - undollar bites the dollar sign off the tip of the command you just pasted into your terminal
148 | * [usql](https://github.com/xo/usql) - Universal command-line interface for SQL databases.
149 | * [v](https://github.com/rupa/v) - z for vim.
150 | * [wemux](https://github.com/zolrath/wemux) - Multi-User Tmux Made Easy
151 | * [xiki](https://github.com/trogdoro/xiki) - Makes the shell console more friendly and powerful
152 | * [xplr](https://github.com/sayanarijit/xplr) - A hackable, minimal, fast TUI file explorer
153 | * [xsv](https://github.com/BurntSushi/xsv) - a fast CSV command line toolkit written in Rust
154 | * [xxh](https://github.com/xxh/xxh) - Bring your favorite shell wherever you go through the SSH.
155 |
156 | ### Directory Navigation
157 |
158 | * [aliasme](https://github.com/Jintin/aliasme) - alias helper to change directory quickly
159 | * [autojump](https://github.com/wting/autojump) - A cd command that learns - easily navigate directories from the command line
160 | * [bashmarks](https://github.com/huyng/bashmarks) - Directory bookmarks for the shell
161 | * [bd](https://github.com/vigneshwaranr/bd) - Quickly go back to a parent directory
162 | * [commacd](https://github.com/shyiko/commacd) - A faster way to move around in Bash
163 | * [enhancd](https://github.com/b4b4r07/enhancd) - :rocket: A next-generation cd command with an interactive filter
164 | * [goto](https://github.com/iridakos/goto) - A shell utility for navigation to aliased directories supporting auto-completion
165 | * [jump](https://github.com/gsamokovarov/jump) - Jump helps you navigate your file system faster by learning your habits.
166 | * [lazy-cd](https://github.com/pedramamini/lazy-cd) - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.
167 | * [up](https://github.com/shannonmoeller/up) - Ascend directories by name or count; for bash, zsh, and fish.
168 | * [z](https://github.com/rupa/z) - z is the new j, yo
169 | * [z.lua](https://github.com/skywind3000/z.lua) - A new cd command that helps you navigate faster by learning your habits
170 | * [zoxide](https://github.com/ajeetdsouza/zoxide) - A faster way to navigate your filesystem, written in Rust
171 | * [zpyi](https://github.com/sakshamsharma/zpyi) - Python in Zsh - Easy python scripting in shell
172 |
173 | ## Customization
174 |
175 | *Custom prompts, color themes, etc.*
176 |
177 | * [aphrodite-terminal-theme](https://github.com/win0err/aphrodite-terminal-theme) — Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh
178 | * [base16-builder](https://github.com/base16-builder/base16-builder) - Base16-Builder
179 | * [bash-full-of-colors](https://github.com/slomkowski/bash-full-of-colors) - Powerful prompt with screen, tmux, git support and many more
180 | * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - An informative and fancy Bash prompt for Git users
181 | * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline-style Bash prompt in pure Bash script
182 | * [bashstrap](https://github.com/barryclark/bashstrap) - A quick way to spruce up OSX terminal
183 | * [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
184 | * [emojify](https://github.com/mrowa44/emojify) Emoji on the command line :scream:
185 | * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - Nicer colors for terminal
186 | * [geometry](https://github.com/geometry-zsh/geometry) - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.
187 | * [git-prompt](https://github.com/lvv/git-prompt) - Bash prompt with Git, SVN and HG modules
188 | * [gittify](https://github.com/momeni/gittify) - A colorful Bash prompt + customized Git aliases
189 | * [Gogh - Color Scheme](https://github.com/Mayccoll/Gogh) - Color Scheme for Gnome Terminal
190 | * [liquidprompt](https://github.com/nojhan/liquidprompt) - A full-featured & carefully designed adaptive prompt for Bash & Zsh
191 | * [mysql-colorize](https://github.com/zpm-zsh/mysql-colorize) - Colorization for mysql comand-line client
192 | * [oh-my-git](https://github.com/arialdomartini/oh-my-git) - An opinionated git prompt for bash and zsh
193 | * [oh-my-posh](https://ohmyposh.dev) - Prompt theme engine for any shell and platform written in go.
194 | * [polyglot](https://github.com/agkozak/polyglot) - An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh
195 | * [powerlevel10k](https://github.com/romkatv/powerlevel10k) - Super flexible awesome powerline ZSH theme
196 | * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - Bash prompt with colors, Git statuses, and Git branches
197 | * [starship](https://starship.rs/) - Fast, customisable, cross-shell prompt written in rust
198 | * [synth-shell](https://github.com/andresgongora/synth-shell) - Greeter with a customizable status report and a fancy bash prompt
199 |
200 | ## For Developers
201 |
202 | *Command-line development, version control, and deployment.*
203 |
204 | * [1Password SSH Agent](https://developer.1password.com/docs/ssh/) - Authenticate Git and SSH workflows with biometric unlock using 1Password
205 | * [ack](https://beyondgrep.com/) - A grep-like search tool optimized for source code.
206 | * [add-gitignore](https://github.com/TejasQ/add-gitignore) - Interactive CLI that generates a .gitignore for your project based on your needs.
207 | * [bcal](https://github.com/jarun/bcal) - Byte CALculator for storage conversions and calculations
208 | * [bitwise](https://github.com/mellowcandle/bitwise) - Terminal based interactive bit manipulator in curses.
209 | * [bocker](https://github.com/p8952/bocker) - Docker implemented in 100 lines of bash
210 | * [cloc](https://github.com/AlDanial/cloc) - Count Lines of Code
211 | * [doclt](https://github.com/omgimanerd/doclt) - A command line interface to Digital Ocean
212 | * [dokku](https://github.com/dokku/dokku) - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
213 | * [forgit](https://github.com/wfxr/forgit) - Utility tool for `git` taking advantage of fuzzy finder fzf.
214 | * [git-extra-commands](https://github.com/unixorn/git-extra-commands) - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
215 | * [git-extras](https://github.com/tj/git-extras) - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
216 | * [git-open](https://github.com/paulirish/git-open) - Type `git open` to open the GitHub page or website for a repository in your browser
217 | * [git-quick-stats](https://github.com/arzzen/git-quick-stats) - Git quick statistics is a simple and efficient way to access various statistics in git repository.
218 | * [git-semver](https://github.com/markchalloner/git-semver) - Git plugin for easing semantic versioning and changelog validation
219 | * [git-sh](https://github.com/rtomayko/git-sh) - A customized Bash environment suitable for Git work
220 | * [gita](https://github.com/nosarthur/gita) - A command-line tool to manage multiple git repos.
221 | * [hub](https://github.com/github/hub) - hub helps you win at git.
222 | * [just](https://github.com/casey/just) - Task runner for saving and running project-specific commands.
223 | * [licins](https://github.com/dogoncouch/licins) - Insert commented software licenses into source code.
224 | * [mkdkr](https://github.com/rosineygp/mkdkr) - Makefile + Docker = CI Pipeline
225 | * [mr](https://myrepos.branchable.com) - Multiple Repository management tool
226 | * [nve](https://github.com/ehmicky/nve) - Run any command on specific Node.js versions.
227 | * [overcommit](https://github.com/sds/overcommit) - A fully configurable and extendable Git hook manager
228 | * [pre-commit](https://pre-commit.com) - A framework for managing and maintaining multi-language pre-commit hooks
229 | * [rebound](https://github.com/shobrook/rebound) - Instantly browse Stack Overflow results in your terminal when you get a compiler error
230 | * [repren](https://github.com/jlevy/repren) - Command-line search-and-replace and file-renaming swiss army knife
231 | * [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor that runs on Node.js
232 | * [shipit](https://github.com/sapegin/shipit) - Minimalistic SSH deployment
233 | * [starring](https://github.com/ritz078/starring) - Automatically star the npm-packages that you are using on GitHub.
234 | * [tag](https://github.com/aykamko/tag) - Instantly jump to your ag matches.
235 | * [trunk](https://www.npmjs.com/package/@trunkio/launcher) - Blazingly fast meta code checker and formatter
236 | * [vmn](https://github.com/final-israel/vmn) - git-based automatic versioning and state recovery solution agnostic to language or architecture
237 | * [wipe-modules](https://github.com/bntzio/wipe-modules) - A little agent that removes the node_modules folder of non-active projects
238 |
239 | ## System Utilities
240 |
241 | *OS-related tools, including system administration, system debugging, and file and process management.*
242 |
243 | * [atop](https://www.atoptool.nl) - ASCII full-screen performance monitor that is capable of reporting the activity of all processes
244 | * [bat](https://github.com/sharkdp/bat) - A `cat` clone with wings
245 | * [bmon](https://github.com/tgraf/bmon) - Real-time network bandwidth monitor and rate estimator with human-friendly visual output
246 | * [btop](https://github.com/aristocratos/btop) - Linux/OSX/FreeBSD resource monitor
247 | * [catcli](https://github.com/deadc0de6/catcli) - The command line catalog tool for your offline data
248 | * [ccat](https://github.com/owenthereal/ccat) - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
249 | * [exa](https://github.com/ogham/exa) - A modern version of `ls`.
250 | * [progress](https://github.com/Xfennec/progress) - Linux tool to show progress for `cp`, `rm`, `dd`, and more...
251 | * [stronghold](https://github.com/alichtman/stronghold) - Easily configure MacOS security settings from the terminal.
252 | * [glances](https://github.com/nicolargo/glances) - Glances an Eye on your system
253 | * [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.
254 | * [hblock](https://github.com/hectorm/hblock) - Hosts-file based adblocker
255 | * [histstat](https://github.com/vesche/histstat) - History for netstat
256 | * [htop](https://github.com/hishamhm/htop) - A ncurses based interactive process viewer which aims to be a better `top`
257 | * [lnav](https://lnav.org) - An advanced log file viewer for the small-scale
258 | * [logdissect](https://github.com/dogoncouch/logdissect) - CLI utility and Python API for analyzing log files and other data.
259 | * [ls++](https://github.com/trapd00r/ls--) - Colorized ls on steroids
260 | * [lsd](https://github.com/Peltoche/lsd) - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
261 | * [lsp](https://github.com/dborzov/lsp) - An improved `ls`, with file descriptions in plain language and intelligent file grouping
262 | * [maza](https://github.com/tanrax/maza-ad-blocking) - Local ad blocker. Like Pi-hole but local and using your operating system.
263 | * [mtr](https://github.com/traviscross/mtr) - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
264 | * [ncdu](https://dev.yorhel.nl/ncdu) - NCurses Disk Usage
265 | * [nmtui](https://github.com/NetworkManager/NetworkManager) - Text User Interface for controlling NetworkManager
266 | * [powertop](https://github.com/fenrus75/powertop) - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
267 | * [prettyping](https://github.com/denilsonsa/prettyping) - Making the output of `ping` prettier, more colorful, more compact, and easier to read.
268 | * [procdog](https://github.com/jlevy/procdog) - Lightweight command-line control of long-lived processes like servers
269 | * [quick-secure](https://github.com/marshyski/quick-secure) - Quickly secure and harden UNIX/Linux systems
270 | * [rng](https://github.com/nickolasburr/rng) - Copy range of lines from file or stdin to stdout.
271 | * [tiptop](https://github.com/nschloe/tiptop) - Graphical command-line system monitor.
272 | * [wifi-wand](https://github.com/keithrbennett/wifiwand) - a Ruby command line application for managing WiFi on MacOS (install by `gem install wifi-wand`)
273 | * [xiringuito](https://github.com/ivanilves/xiringuito) - SSH-based "VPN for poors"
274 |
275 | ## Downloading and Serving
276 |
277 | *Self-hosted, lightweight servers and networking tools written in shell scripts.*
278 |
279 | * [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
280 | * [balls](https://github.com/jneen/balls) - Bash on Balls
281 | * [bashttpd](https://github.com/avleen/bashttpd) - A web server written in Bash
282 | * [bashhub-server](https://github.com/nicksherron/bashhub-server) - Private cloud shell history. Open source server for bashhub
283 | * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
284 | * [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
285 | * [httpie](https://github.com/httpie/httpie) - HTTPie is a command line HTTP client, a user-friendly cURL replacement
286 | * [HTTPLab](https://github.com/gchaincl/httplab) - The interactive web server, let you inspect HTTP requests and forge responses.
287 | * [Kapow!](https://github.com/BBVA/kapow) - If you can script it, you can HTTP it.
288 | * [ngincat](https://github.com/jaburns/ngincat) - Tiny Bash HTTP server using netcat
289 | * [resty](https://github.com/micha/resty) - Little command line REST client that you can use in pipelines
290 | * [shell2http](https://github.com/msoap/shell2http) - HTTP-server to execute shell commands. Designed for development, prototyping or remote control
291 | * [tshare](https://github.com/trikko/tshare) - File sharing from commandline.
292 | * [vesper](https://github.com/chris-rock/vesper) - 🍸Vesper is a HTTP framework for Bash/Unix Shell
293 | * [xh](https://github.com/ducaale/xh) - Friendly and fast tool for sending HTTP requests
294 | * [yt-dlp](https://github.com/yt-dlp/yt-dlp) - Command-line program to download videos from YouTube.com and other video sites
295 |
296 | ## Multimedia and File Formats
297 |
298 | *Tools for handling video and audio files.*
299 |
300 | * [adb-export](https://github.com/sromku/adb-export) - Export Android content providers to CSV format
301 | * [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
302 | * [Beets](https://github.com/beetbox/beets) - Music library manager and MusicBrainz tagger
303 | * [cmus](https://github.com/cmus/cmus) - Cross-platform cli audio player.
304 | * [dasel](https://github.com/tomwright/dasel) - Query and update data structures using selectors from the command line. Comparable to [jq](https://github.com/stedolan/jq) / [yq](https://github.com/kislyuk/yq) but supports JSON, YAML, TOML and XML with zero runtime dependencies.
305 | * [dzr](https://github.com/yne/dzr) - Cross-platform Deezer.com audio player.
306 | * [fx](https://github.com/antonmedv/fx) - Command-line JSON processing tool by anononymus JavaScript functions
307 | * [gifgen](https://github.com/lukechilds/gifgen) - Simple high quality GIF encoding
308 | * [image-scraper](https://github.com/sananth12/ImageScraper) - A cool command line image scraper with a lot of features.
309 | * [imgp](https://github.com/jarun/imgp) - Blazing fast batch image resizer and rotator
310 | * [jc](https://github.com/kellyjonbrazil/jc) - Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.
311 | * [jo](https://github.com/jpmens/jo) - A small utility to create JSON objects from command-line arguments.
312 | * [jq](https://github.com/stedolan/jq) - Sed for json data. You can use it to slice and filter and map and transform structured data
313 | * [korkut](https://github.com/oguzhaninan/korkut) - Quick and simple image processing at the command line.
314 | * [library](https://github.com/chapmanjacobd/library) - Create SQLITE databases for folders of music, video, images, or online media. Play and track media like Plex but a CLI-only interface with many sorting options.
315 | * [mpv](https://mpv.io/) - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
316 | * [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
317 | * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
318 | * [sejda](https://github.com/torakiki/sejda/) - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
319 | * [visidata](https://github.com/saulpw/visidata) - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
320 | * [xidel](https://github.com/benibela/xidel/) - Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.
321 | * [xmlstarlet](http://xmlstar.sourceforge.net/) - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
322 | * [yq](https://github.com/mikefarah/yq) - yq is a portable command-line YAML processor
323 |
324 | ## Applications
325 |
326 | *Command line-based applications or command line access to existing services.*
327 |
328 | * [ansiweather](https://github.com/fcambus/ansiweather) - Weather in your terminal, with ANSI colors and Unicode symbols
329 | * [awless](https://github.com/wallix/awless) - A powerful, innovative and small surface CLI to manage AWS.
330 | * [bashblog](https://github.com/cfenollosa/bashblog) - A Bash script that handles blog posting
331 | * [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - 🎨 Beautiful images of your code — from right inside your terminal.
332 | * [choosealicense-cli](https://github.com/lord63/choosealicense-cli) - Choose an OSS license from the comfort of your terminal
333 | * [cointop](https://github.com/miguelmota/cointop) - The fastest and most interactive terminal based UI application for tracking cryptocurrencies
334 | * [dstask](https://github.com/naggie/dstask) - Single binary terminal-based TODO manager with git-based sync + markdown notes per task
335 | * [editly](https://github.com/mifi/editly) - Command line video editor
336 | * [facebook-cli](https://github.com/specious/facebook-cli) - Facebook command line tool
337 | * [fanyi](https://github.com/afc163/fanyi) - Translate English to Chinese in terminal
338 | * [gcalcli](https://github.com/insanum/gcalcli) - Google Calendar command line interface
339 | * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - Command line evernote client
340 | * [haxor-news](https://github.com/donnemartin/haxor-news) - Browse Hacker News like a haxor
341 | * [hn-cli](https://github.com/rafaelrinaldi/hn-cli) - Browse Hacker News from the comfort of your Terminal
342 | * [iponmap](https://github.com/nogizhopaboroda/iponmap) - Draw point on world map using ip address
343 | * [isitup](https://github.com/lord63/isitup) - Check whether a website is up or down
344 | * [jrnl](https://github.com/jrnl-org/jrnl) - A simple command line journal application that stores your journal in a plain text file
345 | * [kanban.bash](https://github.com/coderofsalvation/kanban.bash) - commandline asciii kanban board for minimalist productivity bash hackers (csv-based)
346 | * [ledger](https://github.com/ledger/ledger) - Command line accounting
347 | * [licen](https://github.com/lord63/licen) - Generate your license. Yet another lice, but implement with Jinja2 and docopt
348 | * [md2png](https://github.com/weaming/md2png) - Convert markdown to PNG image
349 | * [moviemon](https://github.com/iCHAIT/moviemon) - Everything about your movies within the command line.
350 | * [nomino](https://github.com/yaa110/nomino) - Batch rename utility using regex, sort and map file options.
351 | * [pcalc](https://github.com/alt-romes/programmer-calculator) - Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits.
352 | * [pockyt](https://github.com/achembarpu/pockyt) - Read, Manage, and Automate your [Pocket](https://getpocket.com) collection.
353 | * [pushblast](https://github.com/alebcay/pushblast) - Get PushBullet notifications when a shell program exits
354 | * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - Bash interface to the PushBullet API
355 | * [ranger](https://github.com/ranger/ranger) - A console file manager with VI key bindings.
356 | * [Reddit Terminal Viewer](https://github.com/michael-lazar/rtv) - Browse Reddit from your terminal
357 | * [SAWS](https://github.com/donnemartin/saws) - A Supercharged AWS CLI
358 | * [taskbook](https://github.com/klaussinani/taskbook) - Tasks, boards & notes for the command-line habitat
359 | * [taskwarrior](https://taskwarrior.org/) - A command-line TODO list manager
360 | * [terjira](https://github.com/keepcosmos/terjira) - Command line power tool for Jira
361 | * [ticker](https://github.com/achannarasappa/ticker) — Terminal stock ticker with live updates and position tracking
362 | * [vl](https://github.com/ellisonleao/vl) - URL link checker on text documents
363 | * [wego](https://github.com/schachmat/wego) - Weather app for the terminal
364 | * [whales](https://github.com/Gueils/whales) - A tool to automatically dockerize your applications
365 | * [whereami](https://github.com/rafaelrinaldi/whereami) - Get your geolocation information from the CLI
366 | * [wttr.in](https://github.com/chubin/wttr.in) - :partly_sunny: The right way to check the weather (curl wttr.in)
367 |
368 | ## Games
369 |
370 | *All work and no play is a cruddy way to spend your day.*
371 |
372 | * [bash2048](https://github.com/mydzor/bash2048) - Bash implementation of 2048 game
373 | * [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - Bash implementation of minesweeper
374 | * [nudoku](https://github.com/jubalh/nudoku) - ncurses based sudoku game written in C
375 | * [piu-piu](https://github.com/vaniacer/piu-piu-SH) - Horizontal scroller game in bash with multiplayer mode!
376 | * [sedtris](https://github.com/uuner/sedtris) - Tetris in sed
377 | * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - Arkanoid and Sokoban written using sed
378 | * [SHTAP](https://notimetoplay.org/engines/shtap/) - Reusable text adventure engine for Bash 4
379 | * [tty-solitaire](https://github.com/mpereira/tty-solitaire) - Play solitaire in your terminal!
380 |
381 | ## Shell Package Management
382 |
383 | *Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.*
384 |
385 | * [bash-it](https://github.com/Bash-it/bash-it) - A community Bash framework
386 | * [basher](https://github.com/basherpm/basher) - A package manager for shell scripts
387 | * [bashing](https://github.com/xsc/bashing) - Smashing Bash into Pieces
388 | * [bpkg](https://www.bpkg.sh/) - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
389 | * [dotdrop](https://github.com/deadc0de6/dotdrop) - Save your dotfiles once, deploy them everywhere
390 | * [dotfiler](https://github.com/svetlyak40wt/dotfiler) – Shell agnostic git based dotfiles package manager, written in Python.
391 | * [fresh](https://github.com/freshshell/fresh) - Keep your dotfiles fresh
392 | * [homeshick](https://github.com/andsens/homeshick) - Git dotfile synchronizer written in Bash
393 | * [shallow-backup](https://github.com/alichtman/shallow-backup) - Easily create lightweight documentation of installed packages, dotfiles, and more
394 | * [shundle](https://github.com/javier-lopez/shundle) - Plugin manager for shell scripts
395 | * [vcsh](https://github.com/RichiH/vcsh) - Config manager based on Git
396 | * [yadm](https://yadm.io/) - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping
397 |
398 | ## Shell Script Development
399 |
400 | *Tools for writing, improving, or organizing Bash or other shell scripts*
401 |
402 | * [ansi](https://github.com/fidian/ansi) - ANSI escape codes in pure bash - change text color, position the cursor, much more
403 | * [assert.sh](https://github.com/lehmannro/assert.sh) - Bash unit testing framework
404 | * [bashew](https://github.com/pforret/bashew) - bash script creator - from small stand-alone script to complex projects with CI/CD and testing
405 | * [bashful](https://github.com/jmcantrell/bashful) - A collection of libraries to simplify writing Bash scripts
406 | * [Bashlets](https://github.com/reale/bashlets) - A modular extensible toolbox for Bash
407 | * [bashly](https://bashly.dannyb.co/) - Bash command line framework and CLI generator
408 | * [bashmanager](https://github.com/lingtalfi/bashmanager) - mini bash framework for creating command line tools
409 | * [bashwithnails](https://github.com/mindaugasbarysas/bashwithnails) - a Bash framework written just for fun with testing, dependency management & packaging
410 | * [bash-language-server](https://github.com/bash-lsp/bash-language-server) - [LSP](https://microsoft.github.io/language-server-protocol/)-based Bash language server
411 | * [bash-modules](https://github.com/vlisivka/bash-modules) - functions for developing with [unofficial strict mode](http://redsymbol.net/articles/unofficial-bash-strict-mode/) enabled.
412 | * [bats](https://github.com/bats-core/bats-core) - Bash Automated Testing System
413 | * [composure](https://github.com/erichs/composure) - Compose, document, version and organize your shell functions
414 | * [crash](https://github.com/molovo/crash) - Proper error handling, exceptions and try/catch for ZSH
415 | * [critic.sh](https://github.com/Checksum/critic.sh) - Dead simple testing framework for Bash with coverage reporting
416 | * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - A command line argument parser in 50 lines of portable shell script.
417 | * [esh](https://github.com/jirutka/esh) - A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.
418 | * [Fishtape](https://github.com/jorgebucaran/fishtape) - TAP producer and test harness for fish
419 | * [getoptions](https://github.com/ko1nksm/getoptions) - An elegant option parser for shell scripts (sh, bash and all POSIX shells)
420 | * [getopts.fish](https://github.com/jorgebucaran/getopts.fish) - CLI parser for fish
421 | * [is.sh](https://github.com/qzb/is.sh) - An alternative for builtin test command, it will make your "if" statements pretty
422 | * [lumberjack](https://github.com/molovo/lumberjack) - A logging interface for shell scripts
423 | * [mo](https://github.com/tests-always-included/mo) - Mustache templates in pure bash
424 | * [optparse](https://github.com/nk412/optparse) - A BASH wrapper for getopts, for simple command line arguments.
425 | * [rerun](https://github.com/rerun/rerun) - A modular shell automation framework to organize your keeper scripts
426 | * [revolver](https://github.com/molovo/revolver) - A reusable progress spinner for shell scripts
427 | * [phases](https://github.com/sorokine/phases) - Minimally invasive bash preprocessor, select sections of your script to run
428 | * [powscript](https://github.com/coderofsalvation/powscript) - bash transpiler written in bash (coffeescript for bash)
429 | * [semver_bash](https://github.com/cloudflare/semver_bash) - Semantic Versioning in Bash
430 | * [sh-semver](https://github.com/qzb/sh-semver) - Semver tool for bash - finds versions matching to specified rules
431 | * [shellcheck](https://github.com/koalaman/shellcheck) - Static analysis tool for shell scripts
432 | * [shellfire](https://github.com/shellfire-dev/shellfire) - A repository of namespaced, composable shell (bash, sh and dash) function libraries
433 | * [shellspec](https://github.com/shellspec/shellspec) - A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells
434 | * [shfmt](https://github.com/mvdan/sh) - A shell parser, formatter, and interpreter with bash support; includes shfmt
435 | * [shpec](https://github.com/rylnd/shpec) - A shell testing framework
436 | * [shutit](https://ianmiell.github.io/shutit/) - Automation framework based on bash and pexpect
437 | * [sub](https://github.com/basecamp/sub) - A delicious way to organize programs
438 | * [ts](https://github.com/thinkerbot/ts) - A shell test script
439 | * [urchin](https://github.com/tlevine/urchin) - An idiomatic shell testing framework that uses only shell commands
440 | * [shunit2](https://github.com/kward/shunit2) - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
441 | * [rebash](https://github.com/jandob/rebash) - Scripting library/framework. Features: imports, exceptions, doc-tests ...
442 | * [zunit](https://github.com/zunit-zsh/zunit) - A powerful unit testing framework for ZSH
443 |
444 | # Guides
445 |
446 | * [Bash Official Reference Manual](https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html)
447 | * [Bash Hackers Wiki](https://web.archive.org/web/20230406205817/https://wiki.bash-hackers.org/)
448 | * [Greg Wooledge's (aka "greycat") wiki](https://mywiki.wooledge.org).
449 | Specifically [Bash Guide](https://mywiki.wooledge.org/BashGuide), [Bash FAQ](https://mywiki.wooledge.org/BashFAQ) and [Bash Pitfalls](https://mywiki.wooledge.org/BashPitfalls)
450 | * [Google's Shell Style Guide](https://google.github.io/styleguide/shell.xml)
451 | * [The Linux Documentation Project: Bash Programming - Intro/How-to](https://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html)
452 | * [The Linux Documentation Project: Advanced Bash Scripting Guide](https://tldp.org/LDP/abs/html/)
453 | * [WikiBooks: Bash Shell Scripting](https://en.wikibooks.org/wiki/Bash_Shell_Scripting)
454 | * [Use the Unofficial Bash Strict Mode (Unless You Looove Debugging)](http://redsymbol.net/articles/unofficial-bash-strict-mode/)
455 | * [The Art of Command Line](https://github.com/jlevy/the-art-of-command-line)
456 | * [Learn Enough Command Line to Be Dangerous](https://www.learnenough.com/command-line-tutorial/basics)
457 | * [A guide to learn bash](https://github.com/Idnan/bash-guide)
458 | * [Shell Field Guide](https://raimonster.com/scripting-field-guide/)
459 |
460 | # Other Awesome Lists
461 |
462 | 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).
463 |
464 | ### See also
465 |
466 | * [awesome-cli-apps](https://github.com/agarrharr/awesome-cli-apps)
467 | * [awesome-fish][awesome-fish]
468 | * [awesome-zsh][awesome-zsh]
469 | * [awesome-bash][awesome-bash]
470 | * [terminals-are-sexy](https://github.com/k4m4/terminals-are-sexy)
471 |
472 | [awesome-badge]: https://raw.githubusercontent.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg
473 | [awesome-fish]: https://github.com/jorgebucaran/awsm.fish
474 | [awesome-link]: https://github.com/sindresorhus/awesome
475 | [awesome-zsh]: https://github.com/unixorn/awesome-zsh-plugins
476 | [awesome-bash]: https://github.com/awesome-lists/awesome-bash
477 |
--------------------------------------------------------------------------------
/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 Bash**][awesome-bash] [![Awesome][awesome-badge]][awesome-bash]
19 | - [其它 Awesome 清单](#其它-awesome-清单)
20 |
21 | ## 命令行效率
22 |
23 | *使你的终端体验更有效率的搜索、书签、多路复用、以及其它工具。*
24 |
25 | * [AdvancedNewFile](https://github.com/tanrax/terminal-AdvancedNewFile) - 以递归的方式快速创建文件和目录。 受Vim插件启发。
26 | * [ag](https://github.com/ggreer/the_silver_searcher) - 在层级目录中超快的搜索字符串
27 | * [aliases](https://github.com/sebglazebrook/aliases) - 针对 bash 的上下文动态组织别名
28 | * [aliasme](https://github.com/Jintin/aliasme) - 用来快速更改目录的 alias 辅助程序
29 | * [autoenv](https://github.com/inishchith/autoenv) - 基于目录的环境
30 | * [autojump](https://github.com/wting/autojump) - 自带学习功能的 cd 命令,从命令行轻易地导航目录
31 | * [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: 在云中的 bash 历史,已索引且可搜索。
32 | * [bashmarks](https://github.com/huyng/bashmarks) - 适用于 shell 的目录书签
33 | * [bd](https://github.com/vigneshwaranr/bd) - 迅速回到父目录
34 | * [boilr](https://github.com/tmrts/boilr) - 从 boilerplate 模板创建项目的超快命令行工具
35 | * [boom](https://github.com/holman/boom) - 在命令行中存储链接及片断
36 | * [borg](https://github.com/ok-borg/borg) - 基于终端的 bash 命令搜索引擎
37 | * [byobu](https://www.byobu.org) - 基于文本的窗口管理器及终端多路复用器
38 | * [CloudClip](https://github.com/skywind3000/CloudClip) - 云剪贴板,在不同的系统之间 copy/paste (使用 gist 作为后端)
39 | * [commacd](https://github.com/shyiko/commacd) - 在 Bash 中更快速的移动方式
40 | * [desk](https://github.com/jamesob/desk) - 适用于 shell 的轻量级工作区管理器
41 | * [direnv](https://github.com/direnv/direnv) - 针对 shell 的环境切换工具(利用 autoenv 比较)
42 | * [dnote](https://github.com/dnote/dnote) - 命令行上的笔记本,支持多设备同步和网络界面。
43 | * [enhancd](https://github.com/b4b4r07/enhancd) - :rocket: 具有交互式过滤功能的下一代 cd 命令
44 | * [fasd](https://github.com/clvv/fasd) - 命令行效率提升器,提供快速访问文件及目录
45 | * [foxy](https://github.com/s-p-k/foxy) - 适合 Firefox 及 Surf 浏览器的无格式文本书签
46 | * [fz](https://github.com/changyuheng/fz) - z 的无缝模糊补全
47 | * [fzf](https://github.com/junegunn/fzf) - 命令行下的模糊搜索器
48 | * [hhighlighter](https://github.com/paoloantinori/hhighlighter) - 在命令输出中给单词着色
49 | * [hr](https://github.com/LuRsT/hr) - 适用于终端的 `
`
50 | * [hss](https://github.com/six-ddc/hss) - 可交互的ssh批量执行客户端,具有自动完成远端路径和异步执行的特性
51 | * [hstr](https://github.com/dvorka/hstr) - Bash 历史建议框
52 | * [k](https://github.com/supercrabtree/k) - k 是一个使目录列表更可读的 Zsh 脚本,它增添了 Git 状态、文件颜色、以及腐朽的日期
53 | * [k alias](https://github.com/lingtalfi/k) - 获得用于单行的酷 alias
54 | * [marker](https://github.com/pindexis/marker) - 将你的 shell 命令加到书签
55 | * [mackup](https://github.com/lra/mackup/) - 云同步应用程序的配置文件(OS X/Linux)
56 | * [parallel](http://www.gnu.org/software/parallel/) - 以并行化方式从标准输入构造并执行 shell 命令行
57 | * [pathpicker](https://github.com/facebook/PathPicker) - 允许将 grep、搜索、git 等的输出结果作为输入,并提供友好的选择界面,以便打开或作为命令的参数
58 | * [percol](https://github.com/mooz/percol) - 为传统的 UNIX shell 管道添加交互式的过滤
59 | * [qfc](https://github.com/pindexis/qfc) - 针对 Bash 和 Zsh 的文件补全 widget
60 | * [SHML](https://github.com/odb/shml) - 适用于终端的样式框架 (Shell 标记语言)
61 | * [slugify](https://github.com/benlinton/slugify) - 将文件名及目录转换为 web 友好的格式
62 | * [sman](https://github.com/tokozedg/sman) - :bug: 命令行下的片断管理器
63 | * [spark](https://github.com/holman/spark) - ▁▂▃▅▂▇ 在你的 shell 中
64 | * [spark.fish](https://github.com/jorgebucaran/spark.fish) - ▁▂▃▅ Sparkline 生成器
65 | * [sheet](https://github.com/oscardelben/sheet) - 用于命令行的文本片断
66 | * [spot](https://github.com/rauchg/spot) - 微型的文件搜索工具
67 | * [snips](https://github.com/srijanshetty/snips) - 管理代码片断的命令行工具
68 | * [sshfs](https://github.com/osxfuse/sshfs) - 通过 SSH 挂载远程文件系统的工具
69 | * [sshpass](https://sourceforge.net/projects/sshpass/) - 通过命令行传递ssh密码,无需再次输入,适合用于脚本之中
70 | * [mosh](https://mosh.org) - 第一个实现SSP的应用,MIT的博士项目,使得C/S之间可以保持链接持续,即使断开还能恢复之前的状态
71 | * [sudocabulary](https://github.com/badarsh2/Sudocabulary) - 从终端学习英语词汇
72 | * [td-cli](https://github.com/darrikonn/td-cli) - 组织者命令行管理器,用于跨多个项目组织和管理您的待办事项。
73 | * [thefuck](https://github.com/nvbn/thefuck) - 通过使用容易记住的命令修正常见的 shell 错误
74 | * [tmux](http://tmux.github.io/) - 很棒的终端复用器
75 | * [up](https://github.com/shannonmoeller/up) - 按名称或计数升序排列目录,支持 bash 和 zsh
76 | * [v](https://github.com/rupa/v) - 适用于 Vim 的 z
77 | * [wemux](https://github.com/zolrath/wemux) - 多用户使用 Tmux 变得更容易
78 | * [z](https://github.com/rupa/z) - z 是新的 j
79 | * [z.lua](https://github.com/skywind3000/z.lua) - 一个会学习你使用习惯的快速 cd 命令
80 | * [zoxide](https://github.com/ajeetdsouza/zoxide) - 用Rust编写的浏览文件系统的更快方法
81 |
82 | ## 定制
83 |
84 | *定制提示符、颜色主题等。*
85 |
86 | * [base16-shell](https://github.com/chriskempson/base16-shell) - 适用于 shell 的 Base16
87 | * [bash-full-of-colors](https://github.com/slomkowski/bash-full-of-colors) - 超强的命令行提示(含 screen、tmux、git 等支持)
88 | * [bash-git-prompt](https://github.com/magicmonty/bash-git-prompt) - 针对 Git 用户的信息及梦幻提示符
89 | * [bash-powerline](https://github.com/riobard/bash-powerline) - Powerline 风格的 Bash 提示符,纯 Bash 脚本
90 | * [bashstrap](https://github.com/barryclark/bashstrap) - 美化 OS X 终端的快速方法
91 | * [bullet-train-oh-my-zsh-theme](https://github.com/caiogondim/bullet-train.zsh) - :bullettrain_side: 基于 Powerline Vim 插件的 oh-my-zsh shell 主题
92 | * [emojify](https://github.com/mrowa44/emojify) - 适用于命令行的表情 :scream:
93 | * [flatui-terminal-theme](https://dribbble.com/shots/1021755-Flat-UI-Terminal-Theme) - 很好的终端颜色主题
94 | * [git-prompt](https://github.com/lvv/git-prompt) - 包含 Git、SVN 及 HG 模块的 Bash 提示符
95 | * [gittify](https://github.com/momeni/gittify) - 彩色的 Bash 提示符及定制的 Git 别名
96 | * [Gogh - Color Scheme](https://github.com/Mayccoll/Gogh) - 适用于 GNOME 终端的颜色主题
97 | * [liquidprompt](https://github.com/nojhan/liquidprompt) - 针对 Bash 和 Zsh 的全功能及用心设计的自适应提示符
98 | * [mysql-colorize](https://github.com/zpm-zsh/mysql-colorize) - 彩色的 MySQL 命令行客户端
99 | * [oh-my-git](https://github.com/arialdomartini/oh-my-git) - 针对 Bash 和 Zsh 的自用 Git 提示符
100 | * [sexy-bash-prompt](https://github.com/twolfson/sexy-bash-prompt) - 包含颜色、Git 状态及 Git 分支的 Bash 提示符
101 |
102 | ## 针对开发者
103 |
104 | *命令行开发、版本控制、以及部署。*
105 |
106 | * [bocker](https://github.com/p8952/bocker) - 使用百行 bash 实现的 Docker
107 | * [cloc](https://github.com/AlDanial/cloc) - 统计代码行数
108 | * [dokku](https://github.com/dokku/dokku) - 百行 Bash 打造的 Docker 迷你 Heroku
109 | * [getopts.fish](https://github.com/jorgebucaran/getopts.fish) - 适用于 fish 的命令行解析器
110 | * [forgit](https://github.com/wfxr/forgit) - Git工具,使用`fzf`提供交互式的操作模式
111 | * [git-extra-commands](https://github.com/unixorn/git-extra-commands) - 很多 Git 扩展工具,包括 churn、cut-branch、improved-merge 等
112 | * [git-extras](https://github.com/tj/git-extras) - Git 工具,包括仓库摘要、repl、更改日志人数、作者提交百分比等
113 | * [git-open](https://github.com/paulirish/git-open) - 输入 `git open` 在浏览器中打开 GitHub 页面或仓库网站
114 | * [git-semver](https://github.com/markchalloner/git-semver) - 用来方便的语义化版本及更改日志验证的 Git 插件
115 | * [git-sh](https://github.com/rtomayko/git-sh) - 适合 Git 工作的定制 Bash 环境
116 | * [hub](https://github.com/github/hub) - 更易使用 GitHub 的命令行工具
117 | * [mr](https://myrepos.branchable.com) - 多仓库管理工具
118 | * [overcommit](https://github.com/sds/overcommit) - 完全可配置且可扩展的 Git hook 管理器
119 | * [pre-commit](https://pre-commit.com) - 用于管理及维护多语言 pre-commit hooks 的框架
120 | * [repren](https://github.com/jlevy/repren) - 命令行搜索与替换及文件重命名的瑞士军刀式工具
121 | * [slap](https://github.com/slap-editor/slap) - 运行在 Node.js 上的基于终端的类 Sublime 文本编辑器
122 | * [shipit](https://github.com/sapegin/shipit) - 极简 SSH 部署
123 | * [tag](https://github.com/aykamko/tag) - 立即跳到你的公牛队比赛
124 |
125 | ## 系统工具
126 |
127 | *操作系统相关工具,包括系统管理、系统调试、及文件和进程管理。*
128 |
129 | * [atop](https://www.atoptool.nl) - 能够报告所有进程活动的 ASCII 全屏性能监视器
130 | * [cv](https://github.com/Xfennec/progress) - 显示 cp、rm、dd 等命令进度的 Linux 工具
131 | * [glances](https://github.com/nicolargo/glances) - 系统监视之眼
132 | * [goaccess](https://github.com/allinurl/goaccess) - 运行于 \*nix 系统终端中的实时 web 日志分析器及交互式查看器
133 | * [histstat](https://github.com/vesche/histstat) - 适用于 netstat 的历史
134 | * [htop](https://github.com/hishamhm/htop) - 基于 ncurses 的交互式进程查看器,其目标是比 `top` 更好
135 | * [lnav](http://lnav.org) - 小型的高级日志文件查看器
136 | * [lsp](https://github.com/dborzov/lsp) - 改进的 `ls`,包含无格式语言的文件说明及智能的文件分组
137 | * [mtr](https://github.com/traviscross/mtr) - traceroute 和 ping 功能合二为一的网络诊断工具
138 | * [ncdu](https://dev.yorhel.nl/ncdu) - NCurses 磁盘占用统计
139 | * [powertop](https://github.com/fenrus75/powertop) - 电池/电源占用及设备状态监视命令行工具,包含调整选项
140 | * [procdog](https://github.com/jlevy/procdog) - 轻量级的命令行控制类似服务器的长实时进程
141 | * [quick-secure](https://github.com/marshyski/quick-secure) - 快速的安全并加固 UNIX/Linux 系统
142 | * [wifi-wand](https://github.com/keithrbennett/wifiwand) - 一个用来管理MacOs上 WiFi无线网络的Ruby命令行应用程序, 安装请执行 `gem install wifi-wand`)
143 |
144 | ## 下载与服务
145 |
146 | *使用 shell 脚本编写的自架、轻量级服务器与网络工具。*
147 |
148 | * [aria2](https://github.com/aria2/aria2) - aria2 是一款在命令行中操作的轻量级多协议、多来源、及跨平台下载工具,它支持 HTTP/HTTPS、FTP、BitTorrent 及 Metalink
149 | * [balls](https://github.com/jneen/balls) - Bash on Balls,全功能的 web 平台
150 | * [bashttpd](https://github.com/avleen/bashttpd) - 使用 Bash 编写的 web 服务器
151 | * [bitpocket](https://github.com/sickill/bitpocket) - "DIY Dropbox" 或 "双向目录同步(含正确删除)"
152 | * [coursera-dl](https://github.com/coursera-dl/coursera-dl) - 从Course公开课上下载视频
153 | * [Dropbox-Uploader](https://github.com/andreafabrizi/Dropbox-Uploader) - Dropbox Uploader 是用来从 Dropbox 上传、下载、列出或删除文件的 Bash 脚本
154 | * [httpie](https://github.com/httpie/httpie) - HTTPie 是一个命令行 HTTP 客户端,用户友好的 cURL 替代品
155 | * [http-server](https://www.npmjs.com/package/http-server) - http-server可以启动一个轻量级的http服务
156 | * [ngincat](https://github.com/jaburns/ngincat) - 使用 netcat 的微型 Bash HTTP 服务器
157 | * [resty](https://github.com/micha/resty) - 你可以在管道中使用的小型命令行 REST 客户端
158 | * [yt-dlp](https://github.com/yt-dlp/yt-dlp) - 从 YouTube.com 及其它视频站点下载视频的小命令行程序
159 |
160 | ## 多媒体与文件格式
161 |
162 | *用于处理视频及音频文件的工具。*
163 |
164 | * [adb-export](https://github.com/sromku/adb-export) - 导出 Android 内容提供商为 CSV 格式
165 | * [Android-Kitchen](https://github.com/dsixda/Android-Kitchen) - 基于文本的 Android ROM 定制 kitchen,使用 shell 脚本并支持 Cygwin/OS X/Linux
166 | * [Beets](https://github.com/beetbox/beets) - 音乐库管理器及 MusicBrainz 标签工具
167 | * [cmus](https://github.com/cmus/cmus) - 跨平台的命令行音乐播放器
168 | * [gifgen](https://github.com/lukechilds/gifgen) - 简单高质量的 GIF 编码
169 | * [image-scraper](https://github.com/sananth12/ImageScraper) - 包含诸多特性的酷命令行图像 scraper
170 | * [jq](https://github.com/stedolan/jq) - 针对 json 数据的 Sed,你可以使用它分片、过滤、映射及变换结构化数据
171 | * [csvtookit](https://csvkit.readthedocs.io/en/0.9.1/) - 使用pip install csvki安装, csv文件进行处理的强大工具
172 | * [mplayer](http://www.mplayerhq.hu/design7/news.html) - 让你在 shell 中播放主流的音频及视频格式(使用 ASCII 字符)
173 | * [nehm](https://github.com/bogem/nehm) - 下载、设置 IDv3 标签、并添加到 iTunes 的控制台工具
174 | * [PiCAST](https://github.com/lanceseidman/PiCAST) - PiCAST 将你的 35 刀 Raspberry Pi 变成类 Chromecast 设备
175 | * [sejda](https://github.com/torakiki/sejda/) - 命令行下的 PDF 文档处理工具(分割、合并、旋转、转换为 jpg、提取文本等)
176 | * [xmlstarlet](http://xmlstar.sourceforge.net/) - 古老而强大的命令行 XML 格式化、过滤及处理工具
177 | * [ffmpeg](http://ffmpeg.org/) - 非常强大的视频处理工具
178 | * [imageMagick](http://www.imagemagick.org/script/index.php) - 其强大有目共睹
179 |
180 | ## 应用程序
181 |
182 | *基于命令行的应用程序或从命令行访问现有服务。*
183 |
184 | * [ansiweather](https://github.com/fcambus/ansiweather) - 终端中的天气预报,包含 ANSI 颜色及 Unicode 符号
185 | * [bashblog](https://github.com/cfenollosa/bashblog) - 处理 blog 投递的 Bash 脚本
186 | * [choosealicense-cli](https://github.com/lord63/choosealicense-cli) - 从终端选授權合約
187 | * [facy](https://github.com/huydx/facy) - 命令行下的 Facebook 客户端
188 | * [fanyi](https://github.com/afc163/fanyi) - 翻译英文为中文的命令行工具
189 | * [geeknote](https://github.com/VitaliyRodnenko/geeknote) - 命令行的 Evernote 客户端
190 | * [haxor-news](https://github.com/donnemartin/haxor-news) - 像黑客一样浏览 Hacker News
191 | * [hn-cli](https://github.com/rafaelrinaldi/hn-cli) - 从终端舒服的浏览 Hacker News
192 | * [iponmap](https://github.com/nogizhopaboroda/iponmap) - 利用 IP 地址在世界地图上绘点
193 | * [isitup](https://github.com/lord63/isitup) - 检查一个网站是否正常上线
194 | * [jrnl](https://github.com/jrnl-org/jrnl) - 使用无格式文本文件存储日记的简单命令行程序
195 | * [ledger](https://github.com/ledger/ledger) - 命令行记账
196 | * [licen](https://github.com/lord63/licen) - 生成项目 license
197 | * [md2png](https://github.com/weaming/md2png) - 从 markdown 文件生成 png 图片
198 | * [moviemon](https://github.com/iCHAIT/moviemon) - 有关在命令行下看电影的每样东东
199 | * [pushblast](https://github.com/alebcay/pushblast) - 当 shell 程序退出时获得 PushBullet 通知
200 | * [pushbullet-bash](https://github.com/Red5d/pushbullet-bash) - PushBullet API 的 Bash 接口
201 | * [Reddit Terminal Viewer](https://github.com/michael-lazar/rtv) - 从终端浏览 Reddit
202 | * [SAWS](https://github.com/donnemartin/saws) - 超强的 AWS 命令行界面
203 | * [taskwarrior](https://taskwarrior.org/) - 一个命令行去做列表管理器
204 | * [vl](https://github.com/ellisonleao/vl) - 针对文本文档的 URL 链接检查器
205 | * [wego](https://github.com/schachmat/wego) - 适用于终端的天气预报应用
206 | * [whereami](https://github.com/rafaelrinaldi/whereami) - 从命令行获得你的地理位置信息
207 | * [fail2ban](http://www.fail2ban.org/wiki/index.php/Main_Page) - SSH防爆破
208 |
209 | ## 游戏
210 |
211 | *只顾工作而不玩玩是一种糟糕的度日方式。*
212 |
213 | * [bash2048](https://github.com/mydzor/bash2048) - 2048 游戏的 Bash 实现
214 | * [minesweeper](https://github.com/feherke/Bash-script/tree/master/minesweeper) - 扫雷的 Bash 实现
215 | * [piu-piu](https://github.com/vaniacer/piu-piu-SH) - 水平滚动游戏 Bash 实现
216 | * [sedtris](https://github.com/uuner/sedtris) - 使用 sed 实现的俄罗斯方块
217 | * [sed-scripts](https://github.com/aureliojargas/sed-scripts) - 使用 sed 编写的 Arkanoid 和 Sokoban
218 |
219 | ## Shell 包管理
220 |
221 | *用于管理多个 shell 配置的工具。对于特定的 zsh 工具,参阅 Zsh 节。*
222 |
223 | * [bash-it](https://github.com/Bash-it/bash-it) - 社区化的 Bash 框架
224 | * [basher](https://github.com/basherpm/basher) - 针对 shell 脚本的包管理器
225 | * [bpkg](http://www.bpkg.sh/) - JavaScript 有 npm、Ruby 有 Gems、Python 有 pip,现在 Shell 有 bpkg
226 | * [dotfiler](https://github.com/svetlyak40wt/dotfiler) – 使用 Python 编写的基于 Git 的 Shell dotfiles 管理器
227 | * [fresh](https://github.com/freshshell/fresh) - 使你的 dotfiles 保持更新
228 | * [homeshick](https://github.com/andsens/homeshick) - 使用 Bash 编写的 Git dotfile 同步器
229 | * [vcsh](https://github.com/RichiH/vcsh) - 基于 Git 的配置管理器
230 | * [shundle](https://github.com/javier-lopez/shundle) - 适用于 shell 脚本的插件管理器
231 |
232 | ## Shell 脚本开发
233 |
234 | *用于编写、改进、及管理 Bash 或其它 shell 脚本的工具。*
235 |
236 | * [ansi](https://github.com/fidian/ansi) - 使用纯 Bash 实现的 ANSI 转义码,包括更改文本颜色、定位光标等等
237 | * [assert.sh](https://github.com/lehmannro/assert.sh) - Bash 单元测试框架
238 | * [bashful](https://github.com/jmcantrell/bashful) - 简化编写 Bash 脚本的库收集
239 | * [bashmanager](https://github.com/lingtalfi/bashmanager) - 用来创建命令行工具的微型 Bash 框架
240 | * [bats](https://github.com/bats-core/bats-core) - Bash 自动化测试系统
241 | * [Fishtape](https://github.com/jorgebucaran/fishtape) - 适用于 fish 的 TAP 产生器及测试工具
242 | * [composure](https://github.com/erichs/composure) - 撰写、文档、版本、及组织你的 shell 函数
243 | * [dispatch](https://github.com/Mosai/workshop/blob/master/doc/dispatch.md) - 使用 50 行可移植 shell 脚本写成的命令行参数解析器
244 | * [is.sh](https://github.com/qzb/is.sh) - 内置 test 命令的替代品,使 "if" 语句更漂亮
245 | * [mo](https://github.com/tests-always-included/mo) - 使用纯 Bash 实现的 Mustache 模板
246 | * [optparse](https://github.com/nk412/optparse) - 针对 getopts 的 BASH wrapper,用于简单的命令行参数
247 | * [rerun](https://github.com/rerun/rerun) - 用来管理保留脚本的模块化 shell 自动化框架
248 | * [semver_bash](https://github.com/cloudflare/semver_bash) - 使用 Bash 实现的语义化版本
249 | * [sh-semver](https://github.com/qzb/sh-semver) - 适用于 bash 的 Semver 工具,匹配指定规则来查找版本
250 | * [shellcheck](https://github.com/koalaman/shellcheck) - 针对 shell 脚本的静态化分析工具
251 | * [shellfire](https://github.com/shellfire-dev/shellfire) - 命名空间仓库,可写 shell (bash、sh 及 dash) 函数库
252 | * [shpec](https://github.com/rylnd/shpec) - shell 测试框架
253 | * [sub](https://github.com/basecamp/sub) - 以美味之道来管理程序
254 | * [ts](https://github.com/thinkerbot/ts) - shell 测试脚本
255 | * [shunit2](https://github.com/kward/shunit2) - 适用于 Bash 脚本的单元测试框架(具有 JUnit/PyUnit 风味)
256 | * [rebash](https://github.com/jandob/rebash) - 脚本库/框架,包含 imports、exceptions、doc-tests 等功能
257 |
258 |
259 | # 指南
260 |
261 | * [Bash 黑客的维基](https://web.archive.org/web/20230406205817/https://wiki.bash-hackers.org/)
262 | * [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)
263 | * [Google 的 Shell 风格指南](https://google.github.io/styleguide/shell.xml)
264 | * [Linux 文档项目: Bash 编程 - 简介/如何做](https://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html)
265 | * [Linux 文档项目: 高级 Bash 脚本指南](https://tldp.org/LDP/abs/html/)
266 | * [WikiBooks: Bash Shell 脚本](https://en.wikibooks.org/wiki/Bash_Shell_Scripting)
267 | * [使用非官方的 Bash 严格模式 (除非你爱调试)](http://redsymbol.net/articles/unofficial-bash-strict-mode/)
268 | * [命令行的艺术](https://github.com/jlevy/the-art-of-command-line)
269 | * [学会成为命令行杀手](https://www.learnenough.com/command-line-tutorial/basics)
270 | * [学习bash的指南](https://github.com/Idnan/bash-guide)
271 |
272 |
273 | # 其它 Awesome 清单
274 |
275 | 其它很棒的 awesome 清单可在 [awesome-awesome](https://github.com/emijrp/awesome-awesome) 和 [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) 找到。
276 |
277 |
278 | [awesome-zsh]: https://github.com/unixorn/awesome-zsh-plugins
279 | [awesome-fish]: https://github.com/jorgebucaran/awsm.fish
280 | [awesome-link]: https://github.com/sindresorhus/awesome
281 | [awesome-badge]: https://raw.githubusercontent.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg
282 | [awesome-bash]: https://github.com/awesome-lists/awesome-bash
283 |
--------------------------------------------------------------------------------