/awesome-command-line-apps

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

A curated list of useful command line apps, in celebration of the TUI.

“Knowledge brings fear” (Mars University Mission Statement)

Awesome

If you want to contribute, you are highly encouraged to do so. Please read the contribution guidelines.

Table of Contents

*nix/*nux

Automation

  • Ansible - Automate deployment, configuration, and upgrading.
  • fswatch - Cross-platform file change monitor with multiple backends.

Backup

  • Amanda - Open Source Network Backup for Linux, Windows, UNIX and OS X.
  • Attic - Deduplicating backup program written in Python.
  • Bacula - Manage backups, recovery, and verification of computer data across a network of computers of different kinds.
  • BorgBackup - Significantly improved fork of Attic.
  • duply - Easily create GPG encrypted, compressed backups of any data almost anywhere.
  • mysqldump-secure - Secure mysqldump script with encryption, compression, logging, blacklisting and Nagios monitoring integration.

Benchmarking

  • loadtest - Runs a load test on the selected HTTP URL.
  • pv - Terminal-based tool for monitoring the progress of data through a pipeline.
  • siege - http load testing and benchmarking utility.

Cloud Services

  • awscli - Official Amazon AWS command-line interface.
  • cadaver - Command-line WebDAV client for Unix.

Compression

  • archivemount - FUSE filesystem using libarchive to mount archives.
  • dtrx - Takes all the hassle out of extracting archives.

Content Creation

  • GitBook - Library and cmd utility to generate GitBooks.

Conversion

  • Echo - Convert HTML tables to JSON/CSVs.
  • Pandoc - A universal document converter.
  • binchunker - Converts a CD image in a ".bin / .cue" format (sometimes ".raw / .cue") to a set of .iso and .cdr tracks.

Databases

  • mycli - Command line interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.
  • pgcli - Command line interface for Postgres with auto-completion and syntax highlighting.

Data Processing

  • jq - Lightweight and flexible command-line JSON processor.

Developer

  • Cookiecutter - Command-line utility that creates projects from cookiecutters (project templates).
  • Critical - Extract & Inline Critical-path CSS in HTML pages.
  • Grunt - The JavaScript Task Runner.
  • HTTPie - User-friendly cURL replacement featuring intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc.
  • Publoy - Command line tool to deploy your static webapps via Dropbox.
  • The Silver Searcher - A blazingly fast tool for searching code.
  • bat - Go implement CLI, cURL-like tool for humans.
  • caniuse-cmd - All the power of caniuse.com with none of the GUI.
  • clog - A conventional changelog for the rest of us.
  • gulp - Automate and enhance your build workflow.
  • how2 - stackoverflow from the terminal.
  • http-prompt - Interactive command-line HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit.
  • penthouse - Critical Path CSS Generator.
  • saws - Supercharged AWS Command Line Interface.
  • sift - Fast and powerful open source alternative to grep.

Download Utilities

  • aria2 - Lightweight multi-protocol & multi-source command-line download utility.
  • peerflix - Streaming torrent client for node.js.

Email

  • Alpine - Fast, easy to use email client that is suitable for both the inexperienced email user as well as for the most demanding of power users.
  • Mutt - All mail clients suck. This one just sucks less.
  • Notmuch - Fast, global-search and tag-based email system.
  • OfflineIMAP - Two-way sync your e-mail mailboxes as a local Maildir.
  • Sup - A curses threads-with-tags style email client.
  • abook - text-based addressbook program designed to use with mutt mail client.
  • imapsync - IMAP synchronisation, sync, copy or migration tool.
  • isync - Command line application to synchronize Maildir and IMAP4 mailboxes both ways.
  • piler - Feature rich open source email archiving solution, and a viable alternative to commercial email archiving products.

Encryption

  • EncFS - Provides an encrypted filesystem in user-space.
  • GnuPG - Complete and free implementation of the OpenPGP standard as defined by RFC4880 (also known as PGP).

Filesystem Management

  • FDUPES - Identify or delete duplicate files residing within specified directories.
  • Midnight Commander - Feature rich visual file manager.
  • Ncdu - Disk usage analyzer with an ncurses interface.
  • vifm - ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt.

FTP

  • CurlFtpFS - Filesystem for accessing FTP hosts based on FUSE and libcurl.
  • LFTP - Sophisticated ftp/http client, and a file transfer program supporting a number of network protocols.
  • NcFTP - A set of free application programs implementing the File Transfer Protocol (FTP).

Games

  • Cataclysm: Dark Days Ahead - Roguelike set in a post-apocalyptic world.
  • Curse of War - Fast-paced real-time action strategy game.
  • Frotz - Interpreter for Infocom games and other Z-machine games.
  • Nethack - Single player dungeon exploration game that runs on a wide variety of computer systems.
  • dopewars - Deal in drugs on the streets of New York, amassing a huge fortune and paying off the loan shark, while avoiding the ever-annoying police.
  • vitetris - Terminal-based Tetris clone, much like the early Tetris games by Nintendo.

IRC

  • BitlBee - IRC to other chat networks gateway.
  • Irssi - The client of the future.
  • WeeChat - WeeChat is a fast, light and extensible chat client.

Media

  • AtomicParsely - Lightweight command line program for reading, parsing and setting metadata into MPEG-4 files.
  • Audiogrep - Creates audio supercuts.
  • Beets - The music geek's media organizer.
  • FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video.
  • Gifsicle - Command-line tool for creating, editing, and getting information about GIF images and animations.
  • HandBrakeCLI - Tool for converting video from nearly any format to a selection of modern, widely supported codecs.
  • Legofy - Python program that takes a static image or gif and makes it so that it looks as if it was built out of LEGO.
  • MKVToolNix - A set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.
  • MediaInfo - Convenient unified display of the most relevant technical and tag data for video and audio files.
  • OptiPNG - PNG optimizer that recompresses image files to a smaller size, without losing any information.
  • Pngcrush - An optimizer for PNG (Portable Network Graphics) files.
  • Shellpic - Display images inline in the shell, ASCII-art is so 2013.
  • Video Transcoding Scripts - Utilities to transcode, inspect and convert videos.
  • Videogrep - Automatic supercuts with python.
  • abcde - A Better CD Encoder.
  • cmus - Small, fast and powerful console music player for Unix-like operating systems.
  • mopidy - Self hosted MPD daemon that connects to Spotify and Soundcloud.
  • moviemon - Everything about your movies within the command line.
  • mp3fs - FUSE-based transcoding filesystem from FLAC to MP3.
  • mp4v2 - Library and tools to provide functions to read, create, and modify mp4 files.
  • mpg123 - Fast console MPEG Audio Player and decoder library.
  • ncmpcpp - NCurses based MPD client.
  • subdownloader - Downloading subtitles for one or more files is just a command away.
  • ttystudio - A terminal-to-gif recorder minus the headaches.
  • youtube-dl - A small command-line program to download videos from YouTube.com and a few more sites.

Miscellaneous

  • FIGlet - Program for making large letters out of ordinary text.
  • ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols.
  • license - Create LICENSEs from the command-line.
  • wego - Weather client for the terminal.

Networking

  • Bandwidth Monitor NG - Small and simple console-based live network and disk io bandwidth monitor.
  • Blucat - netcat for Bluetooth.
  • Netcat - Networking utility which reads and writes data across network connections, using the TCP/IP protocol.
  • Nethogs - Linux 'net top' tool.
  • gping - Ping, but with a graph.
  • iftop - Display bandwidth usage on an interface.
  • localtunnel - Exposes your localhost to the world for easy testing and sharing.
  • mtr - Combines the functionality of the 'traceroute' and 'ping' programs in a single network diagnostic tool.
  • ngrep - grep as a network packet analyzer.
  • nmap - Network discovery and security auditing utility.
  • vnStat - Console-based network traffic monitor for Linux and BSD that keeps a log of network traffic for the selected interface(s).

Presentation

  • WOPR - Simple markup language for creating rich terminal reports, presentations and infographics.
  • termui - Cross-platform, easy-to-compile, and fully-customizable terminal dashboard.

Productivity

  • Taskwarrior - Free and Open Source Software that manages your TODO list from your command line.
  • Timetrap - Simple command line timetracker.
  • Watson - Elegant time tracking with a CLI.
  • doing - A command line tool for keeping track of what you’re doing and tracking what you’ve done.
  • idea - Lightweight CLI tool and module for keeping ideas in a safe place quick and easy.
  • ledger - Powerful, double-entry accounting system that is accessed from the UNIX command-line.
  • pdfgrep - Command line utility to search text in PDF files.
  • pin-cushion - Simple, maintained CLI interface to the Pinboard.in API.
  • woof - Simple one-off HTTP file sharing.

RSS

  • newsbeuter - The Mutt of RSS feed readers.
  • rss2email - A free, open-source tool for Windows and UNIX for getting news from RSS feeds in email.

Security

  • Aircrack-ng - 802.11 WEP and WPA-PSK keys cracking program that can recover keys once enough data packets have been captured.
  • Let's Encrypt - A free, automated and open Certificate Authority.

SSH

  • autossh - Automatically restart SSH sessions and tunnels.
  • ironssh - E2E encrypt files transferred using sftp/scp and share access with other users.
  • sshfs - Locally mount a remote folder via SSH.
  • storm - A command line tool to manage your ssh connections.

System

  • ApacheTop - Curses-based top-like display for Apache information, including requests per second, bytes per second, most popular URLs, etc.
  • dstat - Versatile replacement for vmstat, iostat, netstat and ifstat.
  • htop - An interactive process viewer.
  • iotop - Find out what's stressing and increasing load on your hard disks.
  • maybe - See what a program does before deciding whether you really want it to happen.
  • netboot.xyz - Boot multiple Operating System installers or utilities over the network from a single menu.
  • screenFetch - Fetches system/theme information in terminal for desktop screenshots.

Terminal

  • Fisherman - A blazing fast, modern plugin manager for fish shell.
  • Marker - The terminal command palette.
  • MultiTail - Monitor logfiles and command output in multiple windows in a terminal, colorize, filter and merge.
  • PathPicker - After parsing the output from a command, PathPicker presents you with a nice UI to select which files you're interested in.
  • SCREEN - A "window manager" for the console and terminals.
  • asciinema - Free and open source solution for recording terminal sessions and sharing them on the web.
  • autojump - A cd command that learns - easily navigate directories from the command line.
  • bgrep - Like grep but for binary strings.
  • byobu - Text-based window manager and terminal multiplexer.
  • ccat - Colorizing the cat command.
  • cheat - Create and view interactive cheatsheets on the command-line.
  • desk - Lightweight workspace manager for the shell.
  • dit - Dotfile manager that hooks into git.
  • fundle - Minimalist package manager for fish shell.
  • fzf - A general-purpose command-line fuzzy finder.
  • pick - Fuzzy select anything.
  • tmux - A terminal multiplexer.
  • yank - Yank terminal output to clipboard.
  • z - Tracks your most used directories, based on 'frecency'.

Text Editors

  • Diakonos - A linux editor for the masses.
  • Emacs - An extensible, customizable text editor.
  • Neovim - Modern version of the Vim editor with many advanced features.
  • Vim - Advanced text editor that seeks to provide the power of the de-facto Unix editor 'Vi', with a more complete feature set.

Version Control

  • Bazaar - Easily manage source code on Windows, Ubuntu, GNU/Linux, and Mac OS X.
  • Git - Git is a free and open source distributed version control system.
  • Mercurial - Free, distributed source control management tool.
  • gitfs - Version controlled file system.
  • tig - ncurses based text-mode interface for Git.

VPN

  • OpenVPN - Full-featured open source SSL VPN solution.
  • racoon - Internet Key Exchange (IKE) daemon for automatically keying IPsec connections.
  • strongSwan - Open Source IPsec for Linux.

World Wide Web

  • ELinks - Advanced and well-established feature-rich text mode web (HTTP/FTP/..) browser.
  • GoAccess - Real-time visual web log analyzer and interactive viewer.
  • pageres - Capture screenshots of websites in various resolutions.

BSD

  • pkgsrc - Portable package build system.

Linux

  • IPTraf - Console-based network statistics utility for Linux.
  • aptly - Swiss army knife for Debian repository management.
  • btrfs - Copy on write (CoW) filesystem for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.
  • deborphan - Finds packages installed on your Debian/GNU system that have no other packages depending on them.

Mac OS X

  • Fink - The full world of Unix Open Source software for Darwin.
  • Homebrew - The missing package manager for OS X.
  • MacPorts - Compile, install and upgrade either command-line, X11 or Aqua based open-source software.
  • XLD - Tool to decode/convert/play various 'lossless' audio files.
  • itunes-remote - Control iTunes via CLI.
  • reminders-cli - A simple CLI for interacting with Reminders.
  • tag - Manipulate tags on files and query for files with those tags.

Helpers

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.