A curated list of useful command line apps, in celebration of the TUI.
“Knowledge brings fear” (Mars University Mission Statement)
If you want to contribute, you are highly encouraged to do so. Please read the contribution guidelines.
When you find something helpful in here, you could buy me a coffee. I spend a lot of time and effort on curating this list. Keeping me properly caffeinated accelerates things. And it would really make my day. Kindness of strangers and all that. If you can't or won't, no hard feelings. It's available completely free for a reason. Still, it would be awesome.
- Cloud Services
- Content Creation
- Data Processing
- Dotfile Management
- Download Utilities
- Filesystem Management
- Text Editors
- Version Control
- World Wide Web
- Mac OS X
- Ansible - Automate deployment, configuration, and upgrading.
- fswatch - Cross-platform file change monitor with multiple backends.
- 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.
- Restic - Fast, secure, efficient backup program.
- hyperfine - Benchmark commands through the command line.
- loadtest - Runs a load test on the selected HTTP URL.
- pv - Monitor the progress of data through a pipeline.
- siege - HTTP load testing and benchmarking utility.
- awless - Mighty command-line interface for Amazon Web Services.
- awscli - Official Amazon AWS command-line interface.
- cadaver - WebDAV client for Unix.
- archivemount - FUSE filesystem using libarchive to mount archives.
- dtrx - Takes all the hassle out of extracting archives.
- GitBook - Library and cmd utility to generate GitBooks.
- binchunker - Converts a CD image in a ".bin / .cue" format (sometimes ".raw / .cue") to a set of .iso and .cdr tracks.
- Echo - Convert HTML tables to JSON/CSVs.
- Pandoc - Universal document converter.
- 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.
- usql - Universal command-line interface for SQL databases.
- datamash - Perform basic numeric, textual and statistical operations on textual data files.
- edcount - Estimate distinct count of values from standard input.
- jq - Lightweight and flexible JSON processor.
- bat - Go implement CLI, cURL-like tool for humans.
- bcal - Byte calculator for storage conversions and calculations.
- bitwise - Interactive bit manipulator in curses.
- caniuse-cmd - All the power of caniuse.com with none of the GUI.
- clog - Conventional changelog for the rest of us.
- Cookiecutter - Creates projects from cookiecutters (project templates).
- Critical - Extract & inline critical-path CSS in HTML pages.
- gulp - Automate and enhance your build workflow.
- how2 - Stack Overflow from the terminal.
- http-prompt - Interactive HTTP client featuring autocomplete and syntax highlighting, built on HTTPie and prompt_toolkit.
- HTTPie - User-friendly cURL replacement featuring intuitive UI, JSON support, syntax highlighting, wget-like downloads, extensions, etc.
- penthouse - Critical path CSS generator.
- Publoy - Command line tool to deploy your static web apps via Dropbox.
- Rebound - Instantly fetch Stack Overflow results when you get a compiler error.
- saws - Supercharged AWS command-line interface.
- shellcheck - Static analysis tool for shell scripts.
- sift - Fast and powerful open source alternative to grep.
- Yarn - Deterministic, secure alternative to npm.
- dotdrop - Save your dotfiles once, deploy them everywhere.
- homeshick - Git dotfiles synchronizer written in Bash.
- aria2 - Lightweight multi-protocol & multi-source command-line download utility.
- peerflix - Streaming torrent client for node.js.
- abook - Text-based address book program designed to use with mutt mail client.
- Alpine - Fast, easy to use email client.
- imapsync - IMAP synchronisation, sync, copy or migration tool.
- isync - Synchronize Maildir and IMAP4 mailboxes both ways.
- 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.
- piler - Email archiving solution, a viable alternative to commercial products.
- Sup - Curses threads-with-tags style email client.
- Terjira - Command line power tool for Jira.
- 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).
- 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.
- ranger - Minimalistic visual file manager featuring curses interface with vi key bindings.
- vifm - ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt.
- zfsnap - Rolling ZFS snapshots the easy way.
- 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 - Set of free application programs implementing the File Transfer Protocol (FTP).
- Angband - Free, single-player dungeon exploration game.
- Cataclysm: Dark Days Ahead - Roguelike set in a post-apocalyptic world.
- Curse of War - Fast-paced real-time action strategy game.
- 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.
- 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.
- vitetris - Tetris clone.
- BitlBee - IRC to other chat networks gateway.
- Irssi - The client of the future.
- WeeChat - Fast, light and extensible chat client.
- abcde - A Better CD Encoder.
- AtomicParsely - Reads, parses and sets metadata into MPEG-4 files.
- Audiogrep - Creates audio supercuts.
- Beets - The music geek's media organizer.
- cmus - Small, fast and powerful console music player for Unix-like operating systems.
- FFmpeg - Records, converts and streams audio and video.
- Gifsicle - Creates, edits, and gets information about GIF images and animations.
- HandBrakeCLI - Converts video from nearly any format to a selection of modern, widely supported codecs.
- Legofy - Makes images look like they were built out of Lego.
- MediaInfo - Convenient unified display of the most relevant technical and tag data for video and audio files.
- MKVToolNix - Set of tools to create, alter and inspect Matroska files under Linux, other Unices and Windows.
- 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.
- OptiPNG - PNG optimizer that recompresses image files to a smaller size, without losing any information.
- Pngcrush - Optimizer for PNG (Portable Network Graphics) files.
- Shellpic - Display images inline in the shell, ASCII-art is so 2013.
- subdownloader - Downloading subtitles for one or more files is just a command away.
- ttystudio - Terminal-to-gif recorder minus the headaches.
- Video Transcoding Scripts - Utilities to transcode, inspect and convert videos.
- Videogrep - Automatic supercuts with Python.
- youtube-dl - Download videos from YouTube.com and a few more sites.
- ansiweather - Weather in your terminal, with ANSI colors and Unicode symbols.
- cointop - Interactive cryptocurrency tracking.
- FIGlet - Program for making large letters out of ordinary text.
- license - Create LICENSEs from the command-line.
- pockyt - Composable Pocket client for the terminal.
- wego - Weather client for the terminal.
- Bandwidth Monitor NG - Small and simple live network and disk IO bandwidth monitor.
- Blucat - netcat for Bluetooth.
- 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.
- Netcat - Networking utility which reads and writes data across network connections, using the TCP/IP protocol.
- Nethogs - Linux 'net top' 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).
- termui - Cross-platform, easy-to-compile, and fully-customizable terminal dashboard.
- WOPR - Simple markup language for creating rich terminal reports, presentations and infographics.
- doing - 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.
- MapSCII - OpenStreetMap client, renders an explorable Braille & ASCII world map.
- pdfgrep - Command-line utility to search text in PDF files.
- pin-cushion - Simple, maintained command-line interface to the Pinboard.in API.
- Remind - Sophisticated calendar and alarm program.
- SC-IM - ncurses-based spreadsheet application.
- Taskwarrior - Manage your Todo list.
- Timetrap - Simple timetracker.
- Watson - Elegant time tracking.
- woof - Simple one-off HTTP file sharing.
- fd - fd is a simple, fast and user-friendly alternative to 'find'.
- fselect - 'find' replacement with SQL-like syntax.
- ripgrep - Recursively search directories for a regex pattern extremely fast.
- The Silver Searcher - Blazingly fast tool for searching code.
- acme.sh - Pure Unix shell script implementing ACME client protocol, for Let's Encrypt.
- 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 - Free, automated and open Certificate Authority.
- pass - The standard Unix password manager.
- autossh - Automatically restart SSH sessions and tunnels.
- sshfs - Locally mount a remote folder via SSH.
- storm - Manage your SSH connections.
- 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 - 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.
- asciinema - Record terminal sessions and share them on the web.
- autojump - 'cd' command that learns - easily navigate directories from the command line.
- bat - 'cat' clone with syntax highlighting and Git integration.
- 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.
- desk - Lightweight workspace manager for the shell.
- dit - Dotfile manager that hooks into Git.
- Fisher - Package manager for the fish shell.
- fundle - Minimalist package manager for dish shell.
- fzf - A general-purpose fuzzy finder.
- 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.
- pick - Fuzzy select anything.
- SCREEN - "Window manager" for the console and terminals.
- sd - Intuitive find-and-replace alternative to 'sed'.
- tmux - Terminal multiplexer.
- yank - Yank terminal output to clipboard.
- z - Tracks your most used directories, based on "frecency".
- zoxide - Similar to 'z' but a standalone binary, therefore shell-independent.
- Diakonos - Linux editor for the masses.
- Emacs - Extensible, customizable text editor.
- Kakoune - Modal editor with multiple selections and orthogonal design.
- Micro - Modern and intuitive 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.
- Vis - Highly efficient text editor.
- Bazaar - Easily manage source code on Windows, Ubuntu, GNU/Linux, and Mac OS X.
- fossil - Simple, high-reliability, distributed SCM with integrated bug tracking, wiki, forum, and technotes.
- Git - Git is a free and open source distributed version control system.
- gitfs - Version controlled file system.
- grv - ncurses based text-mode Git repository browser.
- Mercurial - Free, distributed source control management tool.
- tig - ncurses based text-mode interface for Git.
- 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.
- googler - Google Search, Google Site Search, Google News from the terminal.
- pageres - Capture screenshots of websites in various resolutions.
- ezjail - Jail administration framework.
- iocage - Convenient, lightweight & easy container management for BSD jails.
- pkgsrc - Portable package build system.
- poudriere - Port/package build and test system.
- aptly - Swiss army knife for Debian repository management.
- btrfs - Copy-on-write file system for Linux aimed at implementing advanced features while focusing on fault tolerance, repair and easy administration.
- deborphan - Finds packages installed on your Debian system that have no other packages depending on them.
- IPTraf - Network statistics utility for Linux.
Mac OS X
- Fink - The full world of Unix Open Source software for Darwin.
- Homebrew - The missing package manager for OS X.
- itunes-remote - Control iTunes via CLI.
- MacPorts - Compile, install and upgrade either command-line, X11 or Aqua based open-source software.
- mas - Mac App Store command line interface.
- Night Shift Shell Utility - Simple shell utility to control the macOS Night Shift feature.
- reminders-cli - Simple interface for interacting with Reminders.
- tag - Manipulate tags on files and query for files with those tags.
- XLD - Tool to decode/convert/play various lossless audio files.
- crontab.guru - Cron schedule expression editor.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.