Convert Figma logo to code with AI

alebcay logoawesome-shell

A curated list of awesome command-line frameworks, toolkits, guides and gizmos. Inspired by awesome-php.

32,943
2,374
32,943
106

Top Related Projects

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]

🖥 📊 🕹 🛠 A curated list of command line apps

:shell: Use your terminal shell to do awesome things.

Master the command line, in one page

A collection of ZSH frameworks, plugins, themes and tutorials.

💥 A curated list of Terminal frameworks, plugins & resources for CLI lovers.

Quick Overview

Awesome Shell is a curated list of awesome command-line frameworks, toolkits, guides, and resources for shell and command-line enthusiasts. It serves as a comprehensive collection of tools and resources to enhance productivity and efficiency in shell environments, covering various aspects of shell scripting and command-line usage.

Pros

  • Extensive collection of high-quality shell-related resources
  • Well-organized and categorized for easy navigation
  • Regularly updated with new tools and resources
  • Community-driven with contributions from shell enthusiasts

Cons

  • May be overwhelming for beginners due to the large number of resources
  • Some listed tools may become outdated or unmaintained over time
  • Lacks detailed descriptions or comparisons of listed resources
  • Primarily focused on Unix-like systems, with limited Windows-specific content

Note: As this is not a code library but a curated list of resources, the code examples and getting started instructions sections are not applicable.

Competitor Comparisons

😎 A curated list of the best resources in the Nix community [maintainer=@cyntheticfox]

Pros of awesome-nix

  • Focuses specifically on the Nix ecosystem, providing a curated list of Nix-related resources
  • Includes sections on Nix-specific tools, frameworks, and learning materials
  • Offers a more in-depth look at package management and system configuration using Nix

Cons of awesome-nix

  • Limited scope compared to awesome-shell, which covers a broader range of shell-related topics
  • May be less accessible for users not familiar with Nix or functional package management
  • Fewer general-purpose shell utilities and tools listed

Code Comparison

awesome-shell example (bash):

for file in *; do
    if [ -f "$file" ]; then
        echo "$file"
    fi
done

awesome-nix example (Nix expression):

{ pkgs ? import <nixpkgs> {} }:
pkgs.stdenv.mkDerivation {
  name = "example";
  buildInputs = [ pkgs.hello ];
}

The awesome-shell repository provides a more general collection of shell-related tools and resources, while awesome-nix focuses specifically on the Nix ecosystem. awesome-shell is likely more useful for users working with various shell environments, while awesome-nix caters to those interested in Nix package management and system configuration. The code examples demonstrate the difference in focus, with awesome-shell showing a bash script and awesome-nix displaying a Nix expression for package management.

🖥 📊 🕹 🛠 A curated list of command line apps

Pros of awesome-cli-apps

  • More comprehensive, covering a wider range of CLI applications
  • Better organized with clear categories and subcategories
  • Includes brief descriptions for most listed applications

Cons of awesome-cli-apps

  • Less focused on shell-specific tools and utilities
  • May include some outdated or less actively maintained projects
  • Lacks information on shell scripting and customization

Code comparison

While both repositories primarily consist of curated lists rather than code, here's a comparison of their README structures:

awesome-cli-apps:

## Contents
- [Entertainment](#entertainment)
  - [Music](#music)
  - [Social Media](#social-media)
- [Development](#development)
  - [Web Development](#web-development)
  - [Mobile Development](#mobile-development)

awesome-shell:

## Table of Contents
- [Shells](#shells)
- [Command-Line Productivity](#command-line-productivity)
- [Customization](#customization)
- [For Developers](#for-developers)

awesome-cli-apps provides a more detailed and categorized structure, while awesome-shell focuses on broader shell-related categories.

Both repositories serve as valuable resources for command-line enthusiasts, with awesome-cli-apps offering a wider range of applications and awesome-shell concentrating more on shell-specific tools and customization options.

:shell: Use your terminal shell to do awesome things.

Pros of awesome-command-line-apps

  • More focused on specific applications rather than general shell tools and utilities
  • Includes a wider range of categories, such as productivity, development, and system management
  • Provides brief descriptions for most entries, giving users a quick overview of each tool

Cons of awesome-command-line-apps

  • Less frequently updated compared to awesome-shell
  • Smaller community and fewer contributors
  • Limited to command-line applications, excluding some shell-specific tools and resources

Code comparison

While both repositories are primarily curated lists, they don't contain significant code samples. However, here's an example of how they structure their lists:

awesome-shell:

## Command-Line Productivity

* [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for bash
* [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: Bash history in the cloud. Indexed and searchable.

awesome-command-line-apps:

## Productivity

- [taskwarrior](https://taskwarrior.org/) - Manage your TODO list from the command line
- [ledger](https://www.ledger-cli.org/) - Command line double-entry accounting

Both repositories serve as excellent resources for command-line enthusiasts, with awesome-shell focusing more on shell-specific tools and awesome-command-line-apps offering a broader range of command-line applications across various categories.

Master the command line, in one page

Pros of The Art of Command Line

  • Comprehensive guide covering a wide range of command-line topics
  • Well-structured with clear sections for different skill levels
  • Includes practical examples and real-world scenarios

Cons of The Art of Command Line

  • Less frequently updated compared to Awesome Shell
  • Focuses more on general knowledge rather than specific tools
  • May be overwhelming for absolute beginners

Code Comparison

The Art of Command Line:

# Find files with instances of something
grep -R "some_text" .
grep -R --files-with-matches "some_text" .

Awesome Shell:

# No direct code examples provided in the main README
# Instead, it links to various tools and resources

Summary

The Art of Command Line offers a comprehensive guide to command-line usage, suitable for various skill levels. It provides practical examples and covers a wide range of topics. However, it may be less frequently updated and potentially overwhelming for beginners.

Awesome Shell, on the other hand, serves as a curated list of command-line tools and resources. It's more frequently updated and easier to navigate for specific tools, but lacks the in-depth explanations and examples found in The Art of Command Line.

Both repositories are valuable resources for command-line enthusiasts, with The Art of Command Line being more suitable for those seeking a structured learning path, while Awesome Shell is ideal for discovering new tools and resources.

A collection of ZSH frameworks, plugins, themes and tutorials.

Pros of awesome-zsh-plugins

  • Focused specifically on Zsh plugins, providing a curated list for Zsh users
  • Includes a wider variety of Zsh-specific tools and frameworks
  • Regularly updated with new plugins and contributions

Cons of awesome-zsh-plugins

  • Limited to Zsh, not covering other shells or general command-line tools
  • May overwhelm users with too many plugin options
  • Less comprehensive for general shell scripting resources

Code Comparison

awesome-shell example (general shell scripting):

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
    # Add your processing logic here
done

awesome-zsh-plugins example (Zsh-specific feature):

# Zsh-specific array handling
files=(*.txt)
for file in $files; do
    print "Processing $file"
    # Add your processing logic here
done

Both repositories offer valuable resources for shell users, but they cater to different audiences. awesome-shell provides a broader range of tools and resources for various shells, making it suitable for users of different Unix-like systems. On the other hand, awesome-zsh-plugins is tailored specifically for Zsh users, offering a comprehensive collection of plugins and frameworks to enhance the Zsh experience.

While awesome-zsh-plugins excels in providing Zsh-specific enhancements, it may not be as useful for users of other shells. Conversely, awesome-shell offers a more diverse set of tools but may lack the depth of Zsh-specific features found in awesome-zsh-plugins.

💥 A curated list of Terminal frameworks, plugins & resources for CLI lovers.

Pros of terminals-are-sexy

  • More comprehensive coverage of terminal-related topics, including fonts, color schemes, and terminal emulators
  • Includes a section on terminal games and fun projects
  • Offers a curated list of terminal frameworks and plugins

Cons of terminals-are-sexy

  • Less focused on shell scripting and command-line tools
  • May include some outdated or less maintained projects
  • Organization can be overwhelming for beginners

Code comparison

While both repositories primarily consist of curated lists rather than code, here's a sample of how they structure their content:

terminals-are-sexy:

## Shells

* [Bash](https://www.gnu.org/software/bash/) - GNU Project's shell (Bourne Again SHell).
* [zsh](http://www.zsh.org/) - Powerful shell with scripting language.

awesome-shell:

## Command-Line Productivity

* [aliases](https://github.com/sebglazebrook/aliases) - Contextual, dynamic, organized aliases for bash
* [bashhub](https://github.com/rcaloras/bashhub-client) - :cloud: Bash history in the cloud. Indexed and searchable.

Both repositories use similar Markdown formatting, but terminals-are-sexy tends to have broader categories, while awesome-shell focuses more on specific tools and utilities.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

 █████╗ ██╗    ██╗███████╗███████╗ ██████╗ ███╗   ███╗███████╗
██╔══██╗██║    ██║██╔════╝██╔════╝██╔═══██╗████╗ ████║██╔════╝
███████║██║ █╗ ██║█████╗  ███████╗██║   ██║██╔████╔██║█████╗
██╔══██║██║███╗██║██╔══╝  ╚════██║██║   ██║██║╚██╔╝██║██╔══╝
██║  ██║╚███╔███╔╝███████╗███████║╚██████╔╝██║ ╚═╝ ██║███████╗
╚═╝  ╚═╝ ╚══╝╚══╝ ╚══════╝╚══════╝ ╚═════╝ ╚═╝     ╚═╝╚══════╝
███████╗██╗  ██╗███████╗██╗     ██╗
██╔════╝██║  ██║██╔════╝██║     ██║
███████╗███████║█████╗  ██║     ██║
╚════██║██╔══██║██╔══╝  ██║     ██║
███████║██║  ██║███████╗███████╗███████╗
╚══════╝╚═╝  ╚═╝╚══════╝╚══════╝╚══════╝

Awesome Shell Awesome

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.

Shells

Choose your base shell.

  • bash - GNU Project's shell (Bourne Again SHell)
  • elvish - Friendly, expressive shell features like anonymous functions and data structures
  • es - The extensible shell, based on Plan 9's rc shell
  • fish - Smart and user-friendly command line shell
  • ion - A modern system shell that features a simple, yet powerful, syntax. It is written entirely in Rust.
  • ksh93 - Korn Shell
  • mksh - MirBSD Korn Shell
  • murex - A smarter shell and scripting environment with advanced features designed for usability, safety and productivity (eg smarter DevOps tooling)
  • ngs - Fully featured scripting language created specifically for Ops. REPL is being developed.
  • nushell - A modern shell written in Rust
  • oksh - Portable OpenBSD ksh
  • osh - Bash compatible, with new/modern Unix shell language called Oil
  • pdksh - Public domain Korn shell
  • powershell a cross-platform task automation and configuration management framework, consisting of a command-line shell and scripting language
  • shell++ - Friendly and modern functional and object oriented shell script language
  • shenv - Simple shell version management
  • tcsh - C shell with file name completion and command line editing
  • xonsh - Python-ish, BASHwards-looking shell language and command prompt
  • yash - A POSIX-compliant command line shell with built-in support for completion and prediction based on command history
  • zsh - Powerful shell with scripting language

Command-Line Productivity

Search, bookmarks, multiplexing, and other tools that make your terminal experience more productive.

  • AdvancedNewFile - Fast creation of files and directories in a recursive way. Inspired by the Vim plugin.
  • ag - Super fast string search through a directory hierarchy
  • aliases - Contextual, dynamic, organized aliases for bash
  • arttime - Beauty of text art meets functionality of clock, timer, pomodoro++ time manager
  • autoenv - Directory-based environments.
  • await - single binary that run list of commands in parallel and waits for their termination
  • 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.
  • bashhub - :cloud: Bash history in the cloud. Indexed and searchable.
  • boilr - A blazingly fast CLI tool for creating projects from boilerplate templates.
  • boom - Store links and snippets in the command line
  • borg - A terminal based search engine for bash commands
  • broot - A better way to navigate directories
  • browsh - The modern text-based browser
  • Buku - Powerful command-line bookmark manager
  • byobu - Text-based window manager and terminal multiplexer
  • cod — A completion daemon for shell that learns when you invoke --help commands
  • CloudClip - Your own clipboard in the cloud, copy and paste text with gist between different systems
  • ddgr - DuckDuckGo from the terminal
  • desk - A lightweight workspace manager for the shell
  • direnv - An environment switcher for the shell, compare with autoenv
  • dnote - A simple command line notebook with multi-device sync and web interface
  • eureka - :bulb: CLI tool to input and store your ideas without leaving the terminal
  • fasd - Command-line productivity booster, offers quick access to files and directories
  • fd - A simple, fast and user-friendly alternative to find.
  • foxy - Plain text bookmarks for Firefox and surf browsers.
  • fselect - Find files with SQL-like queries.
  • funky - Extends functionality of shell functions making them more powerful and flexible.
  • fz - Seamless fuzzy tab completion for z
  • fzf - A command-line fuzzy finder
  • gitmux - Show Git status in Tmux status bar
  • googler - Google Search, Google Site Search, Google News from the terminal
  • googlr - Command line tool that lets you search Google from your terminal.
  • has - has helps you check presence of various command line tools and their versions on path
  • 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.
  • navi - An interactive cheatsheet tool for the command-line
  • hhighlighter - Colorize words in a command output
  • hr - <hr /> for your terminal
  • hss - An interactive parallel ssh client featuring autocomplete and asynchronous execution
  • hstr - Bash History Suggest Box
  • k - k is a Zsh script to make directory listings more readable, adding Git status, fileweight colors and rotting dates
  • k alias - get kool aliases (and more) working with a simple one-liner
  • lf - Terminal file manager written in Go, inspired by ranger
  • lf.sh - Quickly search files with fewer typings and do many more (grepping, copying path to clipboard, etc)
  • lowcharts - Draw low-resolution graphs in terminal
  • Lmod - Lua-based Environment Modules that enhances Tcl-based modules while being backward compatible (compare to modules)
  • loop - Write and control complex loops with as one-liners
  • marker - Bookmark your shell commands
  • mackup - Keep your application settings in sync (OS X/Linux)
  • mcfly - Fly through your shell history. Great Scot!
  • modules - Classical Tcl-based Environment Modules managing the shell environment (compare to Lmod, direnv, and autoenv)
  • nnn - File browser and disk usage analyzer with excellent desktop integration
  • ok-sh - 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.
  • parallel - Build and execute shell command lines from standard input in parallel
  • pass - Manage passwords from the command line with GPG encryption and optional git integration.
  • 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.
  • pdd - Tiny date, time diff calculator with timers
  • percol - Adds flavor of interactive filtering to the traditional pipe concept of UNIX shell
  • q - Vim like macro registers for your Bash and Zsh Shell
  • qfc - File-completion widget for Bash and Zsh
  • resh - Contextual shell history for Zsh and Bash
  • rg - ripgrep is a line oriented search tool that combines the usability of The Silver Searcher with the raw speed of GNU grep
  • screen - GNU terminal multiplexer
  • shell-history - Visualize your shell usage with Highcharts
  • SHML - Style framework for the terminal (Shell Markup Language)
  • slugify - Command that converts filenames and directories to a web friendly format
  • sman - :bug: A command-line snippet manager
  • spark - ▁▂▃▅▂▇ in your shell
  • spark.fish - ▁▂▃▅ Sparkline Generator
  • sheet - Text snippets for the command line
  • spot - Tiny file search utility
  • snips - Command line tool to manage snippets of code.
  • sqlline - Shell for issuing SQL to relational databases via JDBC (multiline, completion, highlighting, dialect support)
  • sshfs - A tool for mounting remote file systems over SSH
  • sudocabulary - Learn English Vocabulary from your terminal
  • surfraw - browse specific site and search the web from your terminal without browser.
  • task-manager - Execute all your scripts with just two or three keystrokes.
  • td-cli - A todo command line manager to organize and manage your todos across multiple projects.
  • tere - A faster alternative to cd + ls
  • thefuck - Fix common shell mistakes by using an easy to remember command
  • tldr - A fully-functional bash client for tldr, simplified and community-driven man pages
  • tmux - Amazing terminal multiplexer
  • undollar - undollar bites the dollar sign off the tip of the command you just pasted into your terminal
  • usql - Universal command-line interface for SQL databases.
  • v - z for vim.
  • wemux - Multi-User Tmux Made Easy
  • xiki - Makes the shell console more friendly and powerful
  • xplr - A hackable, minimal, fast TUI file explorer
  • xsv - a fast CSV command line toolkit written in Rust
  • xxh - Bring your favorite shell wherever you go through the SSH.

Directory Navigation

  • aliasme - alias helper to change directory quickly
  • autojump - A cd command that learns - easily navigate directories from the command line
  • bashmarks - Directory bookmarks for the shell
  • bd - Quickly go back to a parent directory
  • commacd - A faster way to move around in Bash
  • enhancd - :rocket: A next-generation cd command with an interactive filter
  • goto - A shell utility for navigation to aliased directories supporting auto-completion
  • jump - Jump helps you navigate your file system faster by learning your habits.
  • lazy-cd - Simple bash commands for bookmarked navigation of the file system, complete with bash-completion.
  • up - Ascend directories by name or count; for bash, zsh, and fish.
  • z - z is the new j, yo
  • z.lua - A new cd command that helps you navigate faster by learning your habits
  • zoxide - A faster way to navigate your filesystem, written in Rust
  • zpyi - Python in Zsh - Easy python scripting in shell

Customization

Custom prompts, color themes, etc.

  • aphrodite-terminal-theme — Minimalistic Aphrodite theme (prompt) for sexy terminals that works in bash, fish and zsh
  • base16-builder - Base16-Builder
  • bash-full-of-colors - Powerful prompt with screen, tmux, git support and many more
  • bash-git-prompt - An informative and fancy Bash prompt for Git users
  • bash-powerline - Powerline-style Bash prompt in pure Bash script
  • bashstrap - A quick way to spruce up OSX terminal
  • bullet-train-oh-my-zsh-theme - :bullettrain_side: An oh-my-zsh shell theme based on the Powerline Vim plugin
  • emojify Emoji on the command line :scream:
  • flatui-terminal-theme - Nicer colors for terminal
  • geometry - A minimal ZSH theme where any function can be added to the left prompt or (async) right prompt on the fly.
  • git-prompt - Bash prompt with Git, SVN and HG modules
  • gittify - A colorful Bash prompt + customized Git aliases
  • Gogh - Color Scheme - Color Scheme for Gnome Terminal
  • liquidprompt - A full-featured & carefully designed adaptive prompt for Bash & Zsh
  • mysql-colorize - Colorization for mysql comand-line client
  • oh-my-git - An opinionated git prompt for bash and zsh
  • oh-my-posh - Prompt theme engine for any shell and platform written in go.
  • polyglot - An informative Git prompt that works in bash, zsh, ksh, mksh, pdksh, oksh, dash, yash, busybox sh, and osh
  • powerlevel10k - Super flexible awesome powerline ZSH theme
  • sexy-bash-prompt - Bash prompt with colors, Git statuses, and Git branches
  • starship - Fast, customisable, cross-shell prompt written in rust
  • synth-shell - Greeter with a customizable status report and a fancy bash prompt

For Developers

Command-line development, version control, and deployment.

  • 1Password SSH Agent - Authenticate Git and SSH workflows with biometric unlock using 1Password
  • ack - A grep-like search tool optimized for source code.
  • add-gitignore - Interactive CLI that generates a .gitignore for your project based on your needs.
  • bcal - Byte CALculator for storage conversions and calculations
  • bitwise - Terminal based interactive bit manipulator in curses.
  • bocker - Docker implemented in 100 lines of bash
  • cloc - Count Lines of Code
  • doclt - A command line interface to Digital Ocean
  • dokku - Docker powered mini-Heroku. The smallest PaaS implementation you've ever seen.
  • forgit - Utility tool for git taking advantage of fuzzy finder fzf.
  • git-extra-commands - Many Git extra utilities. Churn, cut-branch, improved-merge and many more.
  • git-extras - Git utilities -- repo summary, repl, changelog population, author commit percentages and more
  • git-open - Type git open to open the GitHub page or website for a repository in your browser
  • git-quick-stats - Git quick statistics is a simple and efficient way to access various statistics in git repository.
  • git-semver - Git plugin for easing semantic versioning and changelog validation
  • git-sh - A customized Bash environment suitable for Git work
  • gita - A command-line tool to manage multiple git repos.
  • hub - hub helps you win at git.
  • just - Task runner for saving and running project-specific commands.
  • licins - Insert commented software licenses into source code.
  • mkdkr - Makefile + Docker = CI Pipeline
  • mr - Multiple Repository management tool
  • nve - Run any command on specific Node.js versions.
  • overcommit - A fully configurable and extendable Git hook manager
  • pre-commit - A framework for managing and maintaining multi-language pre-commit hooks
  • rebound - Instantly browse Stack Overflow results in your terminal when you get a compiler error
  • repren - Command-line search-and-replace and file-renaming swiss army knife
  • slap - Sublime-like terminal-based text editor that runs on Node.js
  • shipit - Minimalistic SSH deployment
  • starring - Automatically star the npm-packages that you are using on GitHub.
  • tag - Instantly jump to your ag matches.
  • trunk - Blazingly fast meta code checker and formatter
  • vmn - git-based automatic versioning and state recovery solution agnostic to language or architecture
  • wipe-modules - A little agent that removes the node_modules folder of non-active projects

System Utilities

OS-related tools, including system administration, system debugging, and file and process management.

  • atop - ASCII full-screen performance monitor that is capable of reporting the activity of all processes
  • bat - A cat clone with wings
  • bmon - Real-time network bandwidth monitor and rate estimator with human-friendly visual output
  • btop - Linux/OSX/FreeBSD resource monitor
  • catcli - The command line catalog tool for your offline data
  • ccat - ccat is the colorizing cat. It works similar to cat but displays content with syntax highlighting.
  • exa - A modern version of ls.
  • progress - Linux tool to show progress for cp, rm, dd, and more...
  • stronghold - Easily configure MacOS security settings from the terminal.
  • glances - Glances an Eye on your system
  • goaccess - GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems.
  • hblock - Hosts-file based adblocker
  • histstat - History for netstat
  • htop - A ncurses based interactive process viewer which aims to be a better top
  • lnav - An advanced log file viewer for the small-scale
  • logdissect - CLI utility and Python API for analyzing log files and other data.
  • ls++ - Colorized ls on steroids
  • lsd - LSDeluxe, rewrite of GNU ls with lot of added features like colors, icons, tree-view and more formatting options.
  • lsp - An improved ls, with file descriptions in plain language and intelligent file grouping
  • maza - Local ad blocker. Like Pi-hole but local and using your operating system.
  • mtr - The functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • ncdu - NCurses Disk Usage
  • nmtui - Text User Interface for controlling NetworkManager
  • powertop - Battery/Power usage and device stats monitoring command-line tool, with tune-up options.
  • prettyping - Making the output of ping prettier, more colorful, more compact, and easier to read.
  • procdog - Lightweight command-line control of long-lived processes like servers
  • quick-secure - Quickly secure and harden UNIX/Linux systems
  • rng - Copy range of lines from file or stdin to stdout.
  • tiptop - Graphical command-line system monitor.
  • wifi-wand - a Ruby command line application for managing WiFi on MacOS (install by gem install wifi-wand)
  • xiringuito - SSH-based "VPN for poors"

Downloading and Serving

Self-hosted, lightweight servers and networking tools written in shell scripts.

  • 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
  • balls - Bash on Balls
  • bashttpd - A web server written in Bash
  • bashhub-server - Private cloud shell history. Open source server for bashhub
  • bitpocket - "DIY Dropbox" or "2-way directory (r)sync with proper deletion"
  • Dropbox-Uploader - Dropbox Uploader is a Bash script which can be used to upload, download, list or delete files from Dropbox
  • httpie - HTTPie is a command line HTTP client, a user-friendly cURL replacement
  • HTTPLab - The interactive web server, let you inspect HTTP requests and forge responses.
  • Kapow! - If you can script it, you can HTTP it.
  • ngincat - Tiny Bash HTTP server using netcat
  • resty - Little command line REST client that you can use in pipelines
  • shell2http - HTTP-server to execute shell commands. Designed for development, prototyping or remote control
  • tshare - File sharing from commandline.
  • vesper - 🍸Vesper is a HTTP framework for Bash/Unix Shell
  • xh - Friendly and fast tool for sending HTTP requests
  • yt-dlp - Command-line program to download videos from YouTube.com and other video sites

Multimedia and File Formats

Tools for handling video and audio files.

  • adb-export - Export Android content providers to CSV format
  • Android-Kitchen - A text-based kitchen for Android ROM customization. Uses shell scripts and works with Cygwin/OS X/Linux
  • Beets - Music library manager and MusicBrainz tagger
  • cmus - Cross-platform cli audio player.
  • dasel - Query and update data structures using selectors from the command line. Comparable to jq / yq but supports JSON, YAML, TOML and XML with zero runtime dependencies.
  • dzr - Cross-platform Deezer.com audio player.
  • fx - Command-line JSON processing tool by anononymus JavaScript functions
  • gifgen - Simple high quality GIF encoding
  • image-scraper - A cool command line image scraper with a lot of features.
  • imgp - Blazing fast batch image resizer and rotator
  • jc - Convert command output, file-types, and common strings to JSON or YAML for easier use in scripts.
  • jo - A small utility to create JSON objects from command-line arguments.
  • jq - Sed for json data. You can use it to slice and filter and map and transform structured data
  • korkut - Quick and simple image processing at the command line.
  • 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.
  • mpv - Lets you play most audio and video formats (using ASCII characters) in the shell as well as in a GUI.
  • nehm - Console tool, which downloads, sets IDv3 tags and adds to your iTunes (if you use it) your SoundCloud likes in convenient way
  • PiCAST - PiCAST turns your $35 Raspberry Pi in to a Chromecast like Device
  • sejda - Command line manipulation of PDF documents (split, merge, rotate, convert to jpg, extract text, etc)
  • visidata - A terminal spreadsheet multitool for exploring and arranging data (csv/json/xml/xls/yaml/etc)
  • xidel - Cli tool to filter, map and create HTML/XML/JSON data with (Turing-complete) XPath and XQuery.
  • xmlstarlet - Old but powerful tool for command-line XML formatting, filtering, and manipulation.
  • yq - yq is a portable command-line YAML processor

Applications

Command line-based applications or command line access to existing services.

  • ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols
  • awless - A powerful, innovative and small surface CLI to manage AWS.
  • bashblog - A Bash script that handles blog posting
  • carbon-now-cli - 🎨 Beautiful images of your code — from right inside your terminal.
  • choosealicense-cli - Choose an OSS license from the comfort of your terminal
  • cointop - The fastest and most interactive terminal based UI application for tracking cryptocurrencies
  • dstask - Single binary terminal-based TODO manager with git-based sync + markdown notes per task
  • editly - Command line video editor
  • facebook-cli - Facebook command line tool
  • fanyi - Translate English to Chinese in terminal
  • gcalcli - Google Calendar command line interface
  • geeknote - Command line evernote client
  • haxor-news - Browse Hacker News like a haxor
  • hn-cli - Browse Hacker News from the comfort of your Terminal
  • iponmap - Draw point on world map using ip address
  • isitup - Check whether a website is up or down
  • jrnl - A simple command line journal application that stores your journal in a plain text file
  • kanban.bash - commandline asciii kanban board for minimalist productivity bash hackers (csv-based)
  • ledger - Command line accounting
  • licen - Generate your license. Yet another lice, but implement with Jinja2 and docopt
  • md2png - Convert markdown to PNG image
  • moviemon - Everything about your movies within the command line.
  • nomino - Batch rename utility using regex, sort and map file options.
  • pcalc - Calculator made for programmers working with multiple number representations, sizes, and overall close to the bits.
  • pockyt - Read, Manage, and Automate your Pocket collection.
  • pushblast - Get PushBullet notifications when a shell program exits
  • pushbullet-bash - Bash interface to the PushBullet API
  • ranger - A console file manager with VI key bindings.
  • Reddit Terminal Viewer - Browse Reddit from your terminal
  • SAWS - A Supercharged AWS CLI
  • taskbook - Tasks, boards & notes for the command-line habitat
  • taskwarrior - A command-line TODO list manager
  • terjira - Command line power tool for Jira
  • ticker — Terminal stock ticker with live updates and position tracking
  • vl - URL link checker on text documents
  • wego - Weather app for the terminal
  • whales - A tool to automatically dockerize your applications
  • whereami - Get your geolocation information from the CLI
  • wttr.in - :partly_sunny: The right way to check the weather (curl wttr.in)

Games

All work and no play is a cruddy way to spend your day.

  • bash2048 - Bash implementation of 2048 game
  • minesweeper - Bash implementation of minesweeper
  • nudoku - ncurses based sudoku game written in C
  • piu-piu - Horizontal scroller game in bash with multiplayer mode!
  • sedtris - Tetris in sed
  • sed-scripts - Arkanoid and Sokoban written using sed
  • SHTAP - Reusable text adventure engine for Bash 4
  • tty-solitaire - Play solitaire in your terminal!

Shell Package Management

Tools for managing multiple shell configurations. For zsh-specific tools, see the Zsh section.

  • bash-it - A community Bash framework
  • basher - A package manager for shell scripts
  • bashing - Smashing Bash into Pieces
  • bpkg - JavaScript has npm, Ruby has Gems, Python has pip and now Shell has bpkg
  • dotdrop - Save your dotfiles once, deploy them everywhere
  • dotfiler – Shell agnostic git based dotfiles package manager, written in Python.
  • fresh - Keep your dotfiles fresh
  • homeshick - Git dotfile synchronizer written in Bash
  • shallow-backup - Easily create lightweight documentation of installed packages, dotfiles, and more
  • shundle - Plugin manager for shell scripts
  • vcsh - Config manager based on Git
  • yadm - Git-based dotfiles manager supporting encryption, alternates, and bootstrapping

Shell Script Development

Tools for writing, improving, or organizing Bash or other shell scripts

  • ansi - ANSI escape codes in pure bash - change text color, position the cursor, much more
  • assert.sh - Bash unit testing framework
  • bashew - bash script creator - from small stand-alone script to complex projects with CI/CD and testing
  • bashful - A collection of libraries to simplify writing Bash scripts
  • Bashlets - A modular extensible toolbox for Bash
  • bashly - Bash command line framework and CLI generator
  • bashmanager - mini bash framework for creating command line tools
  • bashwithnails - a Bash framework written just for fun with testing, dependency management & packaging
  • bash-language-server - LSP-based Bash language server
  • bash-modules - functions for developing with unofficial strict mode enabled.
  • bats - Bash Automated Testing System
  • composure - Compose, document, version and organize your shell functions
  • crash - Proper error handling, exceptions and try/catch for ZSH
  • critic.sh - Dead simple testing framework for Bash with coverage reporting
  • dispatch - A command line argument parser in 50 lines of portable shell script.
  • esh - A simple templating engine based on shell, implemented in ~290 lines of POSIX shell and awk.
  • Fishtape - TAP producer and test harness for fish
  • getoptions - An elegant option parser for shell scripts (sh, bash and all POSIX shells)
  • getopts.fish - CLI parser for fish
  • is.sh - An alternative for builtin test command, it will make your "if" statements pretty
  • lumberjack - A logging interface for shell scripts
  • mo - Mustache templates in pure bash
  • optparse - A BASH wrapper for getopts, for simple command line arguments.
  • rerun - A modular shell automation framework to organize your keeper scripts
  • revolver - A reusable progress spinner for shell scripts
  • phases - Minimally invasive bash preprocessor, select sections of your script to run
  • powscript - bash transpiler written in bash (coffeescript for bash)
  • semver_bash - Semantic Versioning in Bash
  • sh-semver - Semver tool for bash - finds versions matching to specified rules
  • shellcheck - Static analysis tool for shell scripts
  • shellfire - A repository of namespaced, composable shell (bash, sh and dash) function libraries
  • shellspec - A full-featured BDD unit testing framework for dash, bash, ksh, zsh and all POSIX shells
  • shfmt - A shell parser, formatter, and interpreter with bash support; includes shfmt
  • shpec - A shell testing framework
  • shutit - Automation framework based on bash and pexpect
  • sub - A delicious way to organize programs
  • ts - A shell test script
  • urchin - An idiomatic shell testing framework that uses only shell commands
  • shunit2 - A unit test framework for Bash scripts with a flavour of JUnit/PyUnit.
  • rebash - Scripting library/framework. Features: imports, exceptions, doc-tests ...
  • zunit - A powerful unit testing framework for ZSH

Guides

Other Awesome Lists

Other amazingly awesome lists can be found in awesome-awesome and awesome-awesomeness.

See also