mirror of
https://github.com/agarrharr/awesome-cli-apps
synced 2024-12-22 04:40:23 +01:00
A curated list of command line apps.
Inspired by the awesome list thing.
Check out some apps that missed the cut.
If you think they should be added show them some love, shoot them a 👍 or give em' a ⭐!
Looking for new maintainers
Table of Contents
Table of Contents generated with DocToc
- Entertainment
- Development
- Productivity
- Utilities
- Command Line Learning
- Data Manipulation
- Files and Directories
- Version Control
- Images
- Screensavers
- Graphics
- Just for Fun
- Other
- Other Awesome Lists
- License
Entertainment
- football-cli - Get live scores, fixtures, standings of almost every football competition/league.
- pockyt - Read, Manage, and Automate your Pocket collection.
- newsboat - An extendable RSS feed reader for text terminals.
Music
- cmus - Small, fast and powerful console music player.
- Instant-Music-Downloader - Instant music downloader.
- itunes-remote - Control iTunes via CLI.
- pianobar - Pandora client.
- somafm-cli - Listen to SomaFM in your terminal.
- nehm - Download tracks from SoundCloud.
- mpd - Music Player Daemon.
- ncmpcpp - mpd client.
- moc - Console audio player for Linux/UNIX.
- musikcube - Cross-platform, terminal-based music player, audio engine, metadata indexer, and server.
- beets - Music library manager and tagger.
Social Media
- facebook-cli - Facebook command line interface.
- TTYtter - Twitter client.
- Rainbowstream - A smart and nice Twitter client on the terminal.
- RTV - Browse Reddit from your terminal.
- WeeChat - Fast, light and extensible chat client.
- irssi - IRC chat client.
Video
- youtube-dl - Download videos from YouTube.com and many other video sites.
- open-pip-cli - Watch movies in macOS native picture-in-picture player from your terminal.
- streamlink - Extract streams from various websites to a video player of your choosing.
- mps-youtube - Youtube player.
- mpv - Superior video player.
Movies
Games
- Dwarf Fortress - Dwarf Fortress is a part construction and management simulation, part roguelike, indie video game.
Development
- bcal - Byte CALculator for storage conversions and calculations.
- boilr - Create projects from boilerplate templates.
- cgasm - Gives x86 assembly documentation.
- cookiecutter - Create projects from templates.
- legit - Generate Open Source licences as files or file headers.
- mklicense - Create a custom LICENSE file painlessly with customized info.
- rebound - Fetch Stack Overflow results in your terminal when you get a compiler error.
- yo - Scaffolding tool for running Yeoman generators. There are thousands of ready to use generators and creating an own one is pretty easy.
- grip - Preview markdown files with GitHub styles before committing them.
- bitwise - Base convertion and bit manipulator in ncurses.
Text Editors
- emacs - An extensible, customizable, free/libre text editor — and more.
- vim - Vim - the ubiquitous text editor.
- neovim - Vim fork focused on extensibility and usability.
- kakoune - Modal editor inspired by vim.
Web Development
- bower-name-cli - Check whether a package name is available on bower.
- caniuse-cmd - Search caniuse.com about browser support of feature.
- is-up-cli - Check whether a website is up.
- pageres-cli - Capture website screenshots.
- strip-css-comments-cli - Strip comments from CSS.
- viewport-list-cli - Return a list of devices and their viewports.
- surge - Deploy a directory to the web.
- acmetool - An automatic certificate acquisition tool for ACME (Let's Encrypt).
- loadtest - Runs a load test on the selected URL. Easy to extend minimally for your own ends.
- wp-cli - Manage WordPress installations, update plugins, set up multisite installs and much more.
- diff2html-cli - Parse git diffs as JSON and generate pretty HTML.
- HTTPie - A user-friendly HTTP client.
- serve - Easy to use static file server with features like https, CORS and GZIP compression.
- add-gitignore - Interactively generate a .gitignore for your project based on your needs.
- mevn-cli - Light speed setup for MEVN(Mongo Express Vue Node) Apps.
- scaffold-static - Static site generator for vanila JS.
- Discharge - Deploy static websites to Amazon S3.
- reachable - Check if a domain is up.
- simplehttp - Easily serve a local directory over http.
- shell2http - Execute shell commands via HTTP server.
- HTTP Prompt - Interactive HTTP client featuring autocomplete and syntax highlighting.
Mobile Development
- mobicon-cli - Mobile app icon generator.
- mobisplash-cli - Mobile app splash screen generator.
- deviceframe - Put device frames around your mobile/web/progressive app screenshots.
Database
- cycli - Neo4j client with autocompletion and syntax highlighting.
- mycli - MySQL client with autocompletion and syntax highlighting.
- pgcli - Postgres client with autocompletion and syntax highlighting.
Devops
- htconvert - Convert .htaccess redirects to nginx.conf redirects.
- aws-cli - Universal Interface for Amazon Web Services.
- azure-cli - Command-line tools for Azure.
- SAWS - Supercharged AWS CLI.
- s3cmd - Fully-Featured S3 client.
- lstags - Synchronize Docker images across different registries.
- pm2 - Production Process Manager for Node.js
- dockly - Interactively manage Docker containers.
Release
- release-it - Automate releases for Git repositories and/or npm packages. Changelog generation, GitHub/GitLab releases, etc.
- clog - A conventional changelog for the rest of us.
- np - A better
npm publish
. - release - Generate changelogs with a single command.
Npm
- npm-name-cli - Check whether a package name is available on npm.
- npm-user-cli - Get user info of a npm user.
- npm-home - Open the npm page of the package in the current directory.
- pkg-dir-cli - Find the root directory of a npm package.
- npm-check-updates - Find newer versions of package dependencies than what your package.json allows.
- updates - Flexible npm dependency update tool.
Productivity
- AutoScreenshotUploader - Capture and upload screenshots to imgur.
- bitly-client - Bitly client.
- doing - Keep track of what you’re doing and track what you’ve done.
- ffscreencast - A ffmpeg screencast with video overlay and multi monitor support.
- imgur-uploader-cli - Upload images to imgur.
- meetup-cli - Meetup.com client.
- NeoMutt - Email client.
- terjira - Jira client.
- ipt - Pivotal Tracker client.
- g3l - Easiest git cli in the w0rld!
- uber-cli - Uber client.
- Buku - Browser-independent bookmark manager.
- googler - Google from the terminal.
- calcurse - A calendar and scheduling application for the command-line.
- gcalcli - Access Google calendar from the terminal.
- papis - Extensible document and bibliography manager.
Time Tracking
- Timetrap - Simple command-line timetracker.
- moro - Simple tool for tracking work hours.
- Timewarrior - Time tracking utility with simple stopwatch, calendar-based backfill and flexible reporting.
Note Taking and Lists
- idea - A lightweight tool for keeping ideas in a safe place quick and easy.
- geeknote - Evernote client.
- Taskwarrior - Manage your TODO list from your command-line.
- Terminal velocity - A fast note-taking app for the terminal.
- eureka - Store your ideas without leaving the terminal.
- sncli - Simplenote client.
- td-cli - A todo manager to organize and manage your todos across multiple projects.
- taskell - Interactive kanban board/task manager.
- taskbook - Tasks, boards & notes for the command-line habitat.
Finance
- ledger - Powerful, double-entry accounting system on the terminal
- moeda - Foreign exchange rates and currency conversion.
- cash-cli - Convert Currency Rates.
- cointop - Track cryptocurrencies.
Presentations
- WOPR - A simple markup language for creating rich terminal reports, presentations and infographics.
- decktape - PDF exporter for HTML presentations.
- mdp - A command-line based markdown presentation tool.
- sent - Simple plaintext presentation tool.
Utilities
- archive-type-cli - Detect the archive type of a Buffer/Uint8Array.
- battery-level - Get current battery level.
- brightness-cli - Change screen brightness (windows).
- screensaver - Start the screensaver.
- yank - Yank terminal output to clipboard.
- text-meme - Generate text memes.
- s - Open a web search in your terminal.
- google-font-installer - Download and install Google Web Fonts on your local machine.
- aria2 - HTTP, FTP, SFTP, BitTorrent and Metalink download utility.
- share-cli - Share files with your local network.
- wego - Get the weather.
- weather-cli - Check the weather.
- mapscii - Terminal Map Viewer.
- getnews.tech - Fetch news headlines from various news outlets.
- has - Checks for the presence of various commands and their versions on the path.
- carbon-now-cli - Generate beautiful images of your code.
- pass - The standard unix password manager.
- neofetch - System information tool.
- Glances - System monitoring tool.
- awesome-finder - Search the awesome lists without a browser.
- mdv - Styled terminal markdown viewer.
- Ultimate Plumber - Write Linux pipes with live previews.
- flog - A fake log generator for log formats such as apache-common, apache error and RFC3164 syslog.
- shallow-backup - Git integrated backup tool.
- fkill-cli - Simple cross-platform process killer.
macOS
- app-path-cli - Get the path to an app.
- bundle-id-cli - Get bundle identifier from a bundle name: Safari → com.apple.Safari.
- bundle-name-cli - Get bundle name from a bundle identifier: com.apple.Safari → Safari.
- lnfs-cli - Safely force create symlinks.
- osx-version-cli - Get the macOS version.
- osx-wifi-cli - Manage wifi connections.
- active-win-cli - Get the title/id/etc of the active window.
- stronghold - Configure security settings from the terminal.
- website-popup-cli - Open a website in a popup .
Terminal Utilities
- gotty - Share your terminal as a web application.
- localtunnel - Expose your localhost to the world for easy testing and sharing.
- mosh - Remote SSH client that allows roaming with intermittent connectivity.
- ngrok - Secure introspectable tunnels to localhost.
- serveo - Expose local servers to the internet using only a SSH client.
- seashells.io - Pipe output to the web.
- teleconsole - Share your UNIX terminal.
- tmate - Instant terminal (tmux) sharing.
- warp - Secure and simple terminal sharing.
- OverTime - Time-overlap tables for remote teams.
- undollar - Strip the '$' preceding copy-pasted terminal commands.
Network Utilities
- get-port-cli - Get an available port.
- is-reachable-cli - Check if hostnames are reachable or not.
- speedtest-net - Test internet connection speed and ping using speedtest.net.
- speed-test -
speedtest-net
wrapper with different UI. - speedtest-cli - Test internet bandwidth using speedtest.net.
Theming and Customization
- splash-cli - Beautiful wallpapers from unsplash.
- wallpaper-cli - Get or set the desktop wallpaper.
- themer - Generate personalized themes for your editor, terminal, wallpaper, Slack, and more.
- JackPaper - Apply random/queried images from unplash.com as desktop wallpaper.
- pywal - Generate and change color-schemes, then apply them system-wide to all of your favourite programs.
Command Line Learning
- cmdchallenge - presents small shell challenge with user submitted solutions.
- explainshell - type a command line snippet to see the help text for each argument.
- howdoi - Instant coding answers via the command line.
- how2 - Finds the simplest way to do something on a unix bash command line (Nodejs implementation of howdoi).
- The Fuck - Magnificent app which corrects your previous console command.
- tldr - Simplified and community-driven man pages.
- Wat - Instant, central, community-built docs.
- teachcode - A tool to develop and improve a student’s programming skills by introducing the earliest lessons of coding.
Data Manipulation
- underscore-cli - Command-line utility-belt for hacking JSON and Javascript.
- ramda-cli - A CLI tool for processing data with functional pipelines.
- yaml-cli - A simple CLI for querying and updating YAML files.
- q - A command line tool that allows execution of SQL-like queries on CSVs/TSVs (and any other tabular text files).
- yq - Command-line YAML processor (Uses the same syntax as jq).
JSON
- jq - Command-line JSON processor.
- jp - Simply parse and drill into JSON on the commandline, with jsonpath and stdin stream support (jq compatible, not a replacement).
- fx - Command-line JSON viewer.
- vj - Makes JSON human readable.
- strip-json-comments-cli - Strip comments from JSON. Lets you use comments in your JSON files!
Text
- parse-columns-cli - Parse text columns, like the output of unix commands. Returns JSON that you can manipulate with tools like jq or underscore-cli.
- figlet - Creates large text out of ASCII characters.
Files and Directories
File Managers
- ranger - A console file manager with VI key bindings.
- midnight-commander - A feature rich visual file manager.
- organize-cli - Organize your files, imagine cleaning up your downloads in an instant.
- Vifm - Vifm is an ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt.
- nnn - File browser and disk usage analyzer with excellent desktop integration.
Deleting, Copying, and Renaming
- trash-cli - Move files and directories to the trash.
- empty-trash-cli - Empty the trash.
- del-cli - Delete files and folders.
- cpy-cli - Copies files.
- rename-cli - A cross-platform tool for renaming files quickly, especially multiple files at once.
Files
- chokidar-cli - CLI to watch file system changes.
- file-type-cli - Detect the file type of a file or stdin.
- DocToc - Generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites.
- bat - A cat clone with syntax highlighting.
- NCDu - A disk usage analyzer with an ncurses interface.
- unix-permissions - Swiss Army knife for Unix permissions
- rclone - Sync files to and from various cloud providers (Dropbox, Google Drive, Onedrive, etc.).
- transmission-cli - Torrent client for your command line.
- ffsend - Fully featured CLI for Firefox Send - simple and private file sharing.
- webtorrent-cli – Streaming torrent client.
Directory Listing
- alder - A minimal implementation of the UNIX tree command with colors!
- exa - An improved version of
ls
written in Rust.
Directory Navigation
- autojump - A cd command that learns - easily navigate directories from the command line.
- fasd - Command-line productivity booster, offers quick access to files and directories, inspired by autojump, z and v.
- pm - The easy way to switch to your projects on the shell.
- z - z is the new j, yo.
- PathPicker - After parsing the output from a command, PathPicker presents you with a nice UI to select which files you're interested in.
- fz - Seamless fuzzy tab completion for z.
- goto - Directory aliases for the shell with autocomplete.
- z.lua - A new cd command that helps you navigate faster by learning your habits.
Search
- happyfinder - (another) Fuzzy file finder for the command line.
- find-up-cli - Find a file by walking up parent directories.
- ripgrep - A line-oriented search tool that recursively searches your current directory for a regex pattern.
- fzf - A general purpose command-line fuzzy finder, can be used with any list: files/directories, command history, processes, hostnames, bookmarks, git commits, etc.
- fselect - Find files with SQL-like queries.
Version Control
Git
- CLI GitHub - 📺 A fancy GitHub client for command line.
- Gistup - Create a gist from terminal, then use git to update it.
- git commander - A git tool with a easy terminal interface.
- git-stats - 🍀 A GitHub-like contributions calendar, but locally, with all your git commits.
- hub - A command-line wrapper for git that makes you better at GitHub.
- dev-time - Get the current local time of a GitHub user.
- git-labelmaker - Edit GitHub labels from the command line.
- tig - Text-mode interface for Git.
- grv - Text-mode interface for Git with customisable vi bindings.
- git-standup - Recall what you did on the last working day.
- git-secret - Store your private data inside a git repository.
- gitlab-cli - gitlab cli for creating merge request from the command line.
- git-extras - Little git extras like git-ignore, git-setup, git-changelog, git-release, git-effort and more.
- gita - Manage multiple git repos side by side for sanity.
Images
Gif Creation
- gifgen - Simple high quality GIF encoding.
- gifsicle - Create, manipulate, and optimize GIF images and animations.
- ttygif - Convert terminal recordings to animated gifs.
- ttygif - ttyrec to gif.
- ttystudio - A terminal-to-gif recorder minus the headaches.
- asciinema - Terminal session recorder and the best companion of asciinema.org.
- givegif - GIFs on the command line.
Image Conversion
- imgp - Blazing fast batch image resizer and rotator.
- korkut - Quick and simple image processing at the command line.
SVG
- SVGO - SVG Optimizer is a Nodejs-based tool for optimizing SVG vector graphics files.
Screensavers
- cmatrix - Show a scrolling 'Matrix' like screen.
- pipes.sh - Shows random pipes that grow across the screen.
- YuleLog - Terminal based Christmas YuleLog fireplace.
- cli-fireplace - Shows digital fireplace.
Graphics
- cli-mandelbrot - A cli for traversing the Mandelbrot fractal.
- sparkly-cli - Generate sparklines ▁▂▃▅▂▇..
Just for Fun
- cowsay - A configurable talking cow (and other animals).
- quote-cli - Get a random quote or the quote of the day in your CLI.
- fortune - Shows a random fortune.
- ponysay - Pony rewrite of cowsay.
- yosay - Like cowsay, but for yeoman.
- lolcat - Outputs text in rainbow colors.
Other
- Bible.Js CLI client - 📖 Bible.JS CLI client. Read the Holy Bible via the command line.
- birthday - Know when a friend's birthday is coming.
- detect-indent-cli - Detect the indentation of code.
- fullname-cli - Get the fullname of the current user.
- gzip-size-cli - Get the gzipped size of a file or stdin.
- HASHA -cli - Hashing made simple. Get the hash of text or stdin.
- kill-tabs - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
- leven-cli - Measure the difference between two strings using the Levenshtein distance algorithm.
- maybe - See what a program does before deciding whether you really want it to happen.
- mdlt - Do quick math right from the command line.
- medium-cli - Read medium.com stories within your terminal, also gives top stories.
- open-shortcut-cli - Open the URL from a web shortcut file in the browser.
- shortcut-url-cli - Get the URL from a web shortcut file.
- SpeedRead - A simple terminal-based open source Spritz-alike.
- to-double-quotes - Convert matching single-quotes to double-quotes: I 'love' unicorns => I "love" unicorns.
- to-single-quotes - Convert matching double-quotes to single-quotes: I "love" unicorns → I 'love' unicorns.
- gdb-dashboard - Modular visual interface for GDB in Python.
- hget - Render websites in plain text from your terminal.
- google-wifi-status - A Node.js CLI app that displays status of your Google Wifi / OnHub router.
- calories - Calories and weight tracker.
- trino - Trino CLI allows a quick and easy translation of words and phrases entered in the command line.
- alex - This enhances texts with checking for insensitive, inconsiderate writing by catching many possible offences.
- xiringuito - A "poor man's VPN". An SSH-based "VPN" that's easy to install, but with slower performance than a real VPN.
- nasa-cli - Download NASA Picture of the Day from your terminal.
- googlr - Search Google from the command line.
- Qalculate - Calculate non-trival math expressions. Unit conversions, symbolic calculations and more.
Emoji
- emoj - Find relevant emoji from text on the command-line.
- emoji-finder - Quickly find and copy emoji to the clipboard via the command-line.
- oji - Interactive text emoji maker.
Other Awesome Lists
- awesome-git-addons - A curated list of addons that extends git cli.
License
To the extent possible under law, Adam Garrett-Harris has waived all copyright and related or neighboring rights to this work.
Description
Languages
Shell
100%