A curated list of useful command line apps

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

“Knowledge brings fear” (Mars University Mission Statement)

Awesome Build Status

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

Caffeinating

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.

Patreon: https://www.patreon.com/herrbischoff

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

  • awless – A mighty command line interface for Amazon Web 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

  • 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 – A universal document converter.

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

  • datamash Perform basic numeric, textual and statistical operations on textual data files.
  • jq – Lightweight and flexible command-line JSON processor.

Developer

  • bat – Go implement CLI, cURL-like tool for humans.
  • bcal – Byte CALculator for storage conversions and calculations.
  • bitwise – Terminal based interactive bit manipulator in curses.
  • caniuse-cmd – All the power of caniuse.com with none of the GUI.
  • clog – A conventional changelog for the rest of us.
  • 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.
  • 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.
  • 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 webapps via Dropbox.
  • Rebound – Instantly fetch Stack Overflow results when you get a compiler error.
  • saws – Supercharged AWS Command Line Interface.
  • sift – Fast and powerful open source alternative to grep.
  • Yarn – Deterministic, secure alternative to npm.

Dotfile Management

  • dotdrop – Save your dotfiles once, deploy them everywhere.
  • homeshick – Git dotfiles synchronizer written in bash.

Download Utilities

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

Email

  • abook – text-based addressbook program designed to use with mutt mail client.
  • 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.
  • imapsync – IMAP synchronisation, sync, copy or migration tool.
  • isync – Command line application to 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 – Feature rich open source email archiving solution, and a viable alternative to commercial email archiving products.
  • Sup – A curses threads-with-tags style email client.
  • Terjira – Command line power tool for Jira.

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.
  • 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.

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

  • Angband – Angband is a 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 – 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

  • abcde – A Better CD Encoder.
  • 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.
  • cmus – Small, fast and powerful console music player for Unix-like operating systems.
  • 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.
  • MediaInfo – Convenient unified display of the most relevant technical and tag data for video and audio files.
  • MKVToolNix – A 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 – An 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 – A terminal-to-gif recorder minus the headaches.
  • Video Transcoding Scripts – Utilities to transcode, inspect and convert videos.
  • Videogrep – Automatic supercuts with python.
  • youtube-dl – A small command-line program to download videos from YouTube.com and a few more sites.

Miscellaneous

  • 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.

Networking

  • Bandwidth Monitor NG – Small and simple console-based 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).

Presentation

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

Productivity

  • 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.
  • MapSCII – OpenStreetMap client, renders an explorable Braille & ASCII world map.
  • pdfgrep – Command line utility to search text in PDF files.
  • pin-cushion – Simple, maintained CLI interface to the Pinboard.in API.
  • Remind – Sophisticated calendar and alarm program.
  • SC-IM – An ncurses-based spreadsheet application.
  • 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.
  • 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.

Searching

  • fd – fd is a simple, fast and user-friendly alternative to ‘find’.
  • ripgrep – Recursively search directories for a regex pattern extremely fast.
  • The Silver Searcher – A blazingly fast tool for searching code.

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.
  • 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

  • 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.
  • Fisherman – A blazing fast, modern plugin manager for fish shell.
  • fundle – Minimalist package manager for fish shell.
  • fzf – A general-purpose command-line 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 – A “window manager” for the console and terminals.
  • 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.
  • Kakoune – Modal editor with multiple selections and orthogonal design.
  • 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 – A highly efficient text editor.

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.
  • 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.

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.
  • googler – Google Search, Google Site Search, Google News from the terminal.
  • pageres – Capture screenshots of websites in various resolutions.

BSD

  • ezjail – Jail administration framework.
  • iocage – Convenient, Lightweight & Easy Container Management for jails.
  • pkgsrc – Portable package build system.
  • poudriere – Port/Package build and test system.

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.
  • IPTraf – Console-based 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 – A simple CLI 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.

Helpers

License

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

Leave a Reply

Your email address will not be published. Required fields are marked *

Top