awesome-cli-apps-in-a-csv
The largest Awesome Curated list of command line programs (CLI/TUI) with source data organized into CSV files
https://github.com/toolleeo/awesome-cli-apps-in-a-csv
Last synced: 4 days ago
JSON representation
-
<a name="file-manager"></a>File manager
- joshuto - ranger-like terminal file manager
- lf - lf (as in "list files") is a terminal file manager written in Go with a heavy inspiration from ranger file manager.
- ncursesFM - File manager written in C, rather complete in terms of features, especially lightweight and responsive.
- nnn - "The unorthodox terminal file manager" - a tiny, nearly 0-config and fast file manager supporting all the operations on files and directories.
- projectable - A TUI file manager built for projects.
- rnr - The RNR File Manager (RNR's Not Ranger) is a text based file manager that combines the best features of Midnight Commander and Ranger.
- superfile - Pretty fancy and modern file manager.
- TUIFI Manager - A cross-platform terminal-based termux-oriented file manager (and component), meant to be used with a Uni-Curses project or as is.
- walk - Terminal file manager.
- Yazi - Blazing fast terminal file manager written in Rust, based on async I/O.
- adbtuifm - A TUI file manager for the Android Debug Bridge, to make transfers between the device and client easier.
- Better tree - Interactive tree-like terminal file manager.
- Far2l - Linux port of Far v2 file manager.
- fml - Simple and fast file manager written in BASH.
- sfm - Simple file manager for unix-like systems with kernel event notifications, monitoring filesystem events, dual pane and more.
- RTFM - Feature-rich Terminal File Manager written in Ruby.
- superfile - Pretty fancy and modern file manager.
- veld - A modern, tileable, terminal-based file manager built with Python and Textual.
-
<a name="file-renamer"></a>File renamers
- Bren - Bren is a command line tool for GNU/Linux (and many others). It has support for GNU Guile scripting. Bren is simple, fast, and it's written in C.
- rename - Included in `util-linux`, allows bulk rename of files with regex support.
- renameutils - A set of programs to change file and directory names by editing them in-place, I find `imv` especially useful to edit a filename at the program prompt.
- F2 - Cross-platform command-line tool for batch renaming files and directories quickly and safely.
- massren - Easily rename multiple files using your text editor.
- mmv - Rename multiple files using your $EDITOR. The command name is named after multi-mv.
- mmv-c - Interactively rename files with your favorite editor.
- moove - Manipulate file names and locations using a text editor.
- Musort - Rename multiple audio/music files based on the ID3 tag at once.
- nomino - Batch rename utility for developers.
- Ren - Ren is a command-line utility that takes find-formatted lines via standard input, and batch renames them.
- rename - Included in `util-linux`, allows bulk rename of files with regex support.
- rename-cli - File renamer with TUI interface and preview.
- Tempren - A powerful file renaming utility that uses flexible template expressions to create new file paths and names.
- VisioNomicon - A utility that leverages GPT-4V to rename image files based on their content.
- renamed.to - AI-powered file renamer that analyzes document content (PDFs, scans, images) and generates descriptive filenames in bulk.
-
<a name="file-system"></a>File systems
- TMSU - A tool for tagging files, it provides a simple command line tool for applying tags and a virtual filesystem so that you can get a tag-based view of your files from within any other program.
- ipfs-deploy - Zero-Config CLI to Deploy Static Websites to IPFS [IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System).
- sshfs - Locally mount a remote file-system through SSH and access files and directory as they would be on the local machine.
- wutag - CLI Tool for tagging and organizing files by tags.
-
<a name="file-watch"></a>File watching for changes
- watch - Periodically runs a command in the console while temporarily clearing the screen content; it makes it easy to check differences between the output of two subsequent commands; it provides "diff" functionality to highlight the changing characters between outputs.
- Chokidar CLI - Fast cross-platform command line utility to watch file system changes.
- fswatch - Watch file change, and trigger commands (cross platform).
- reflex - Reflex is a small tool to watch a directory and rerun a command when certain files change.
- rwatch - A Rust re-implementation of the classic Unix watch command that allows you to run a command repeatedly and watch its output.
- Viddy - Modern watch command. Time machine and pager etc.
- watcher - Watches all the files present in a directory and whenever a file is changed or a file is created/deleted from the directory, it runs a specified command.
- watchexec - Executes commands in response to file modifications.
- wfh - Continuously watches your local directories and rsync them against a remote host.
-
<a name="financial"></a>Financial tools
- hledger - A is fast, reliable, free, multicurrency double-entry accounting software to track money, investments, cryptocurrencies, time, or any other quantifiable commodity; uses a future-proof plain text file format.
- budget-cli - Import, de-dupe, categorize, and report on financial transactions.
- abandon - A text based, double-entry accounting system inspired by Ledger with infinite precision arithmetic. Made in Java. Includes a GUI.
- beancount - Double-entry bookkeeping computer language that lets you define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.
- bits - CLI tool and pure Python library for Bitcoin.
- budget_tracker_tui - A simple TUI budget tracker app built in rust. Designed to track income and expenses and help visualize and gather basic insights from your transactions.
- cash-cli - Convert Currency Rates.
- Cloudcash - Check your cloud spending from the CLI, from Waybar, and from the macOS menu bar!
- cointop - A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies.
- ecb-rates - Fetch exchage rates from the European Central Bank.
- Invoice - Generate invoices from the command line.
- Lakshmi - Investing library and command-line interface inspired by the Bogleheads philosophy.
- ledger - A powerful, double-entry accounting system; it uses a simple yet powerful text syntax to specify the items to account.
- moeda - A foreign exchange rates and currency conversion using the command line.
- mop - Stock market tracker for hackers.
- paycon - Converts pay amounts between different time units.
- portfolio_rs - A command line TUI tool for managing financial investment portfolios.
- Puffin - A beautiful TUI dashboard for hledger.
- Quoter - The console based stock quote tool.
- Ticker - Terminal stock watcher and stock position tracker.
- rustledger - Pure Rust implementation of Beancount, a drop-in replacement that is 10x faster with a single binary and no dependencies.
- Bagels - TUI application where you can track and analyse your money flow.
- Finance Tracker - TUI financial tracker written in Go, using sqlite database.
- gocost - Simple TUI application to manage monthly expenses; Built with Go and Bubble Tea framework.
- stocksTUI - StocksTUI: Real-time stock market data in your terminal.
-
<a name="find"></a>File finding (alternatives to find)
- plocate - A much faster locate; plocate is a locate based on posting lists, completely replacing mlocate with a much faster (and smaller) index.
- bfs - A breadth-first version of the UNIX find command.
- fd - A simple, fast, and user-friendly alternative to find. Written in Rust.
- Findpick - General purpose file picker combining "find" command with a fuzzy finder.
- friendly-find - Usable replacement for find.
- gret - A command-line utility designed to search through directories and files for a regex expression that matches.
- happyfinder - (another) Fuzzy file finder for the command line.
- rawhide - File finder that uses C expressions to specify the filenames.
- trovatore - A fast command-line tool for searching files by name.
- crtag - CLI for searching directories by tag (UNIX and OS).
-
<a name="flashcard"></a>Anki, decks and flashcards
- flash-tui - Flashcard app for the terminal.
- hardv - A CLI flashcard app for UNIX-compatible systems, conforming to the UNIX philosophy.
- mdfc - Easily create and study flashcards using a Markdown file with spaced repetition.
- py_flashcards - Text-only CLI flashcards parsed from Markdown file.
- speki - Manage flashcards in the terminal similar to anki.
- ToRRential Card processor - A command-line program to add a card to Anki using AnkiConnect API.
- tui-deck - A TUI frontend for Nextcloud Deck app.
- vocage - Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner). Data is stored in a simple plain-text tab-separated values format (TSV).
- revise-tui - A TUI Anki client. Revise is a command-line program used to schedule the review of items using spaced repetition.
- GoCard - A lightweight file-based spaced repetition system (SRS) that uses plain Markdown files for flashcards. Perfect for developers who prefer text files, Git version control, and keyboard-driven interfaces.
- vocage - Vocage is a minimalistic terminal-based vocabulary-learning tool. It presents flashcards using a spaced-repetition algorithm (e.g. Leitner). Data is stored in a simple plain-text tab-separated values format (TSV).
-
<a name="font"></a>Font management
- FIGlet - Not exactly a font manager, but a nice program for making large letters out of ordinary text; an astonishing number of different fonts is available.
- toilet - Tries to improve `FIGlet`; can load FIGlet fonts; supports Unicode input and output, color fonts and output, and various output formats, including HTML, IRC and ANSI; uses `libcaca` to produce nice textual effects.
- cfonts - А command line tool for generating ANSI fonts in the console.
- fnt - apt for fonts, the missing font manager for macOS/Linux.
- toilet - Tries to improve `FIGlet`; can load FIGlet fonts; supports Unicode input and output, color fonts and output, and various output formats, including HTML, IRC and ANSI; uses `libcaca` to produce nice textual effects.
- Iconic Fonts - A collection of over 50 patched fonts featuring over 60,000 icons, tailored specifically for TUIs.
- FIGlet - Not exactly a font manager, but a nice program for making large letters out of ordinary text; an astonishing number of different fonts is available.
-
<a name="funny"></a>Funny tools
- asciicquarium - Enjoy the mysteries of the sea from the safety of your own terminal!
- cmatrix - ncurses program that display the scrolling lines found in the movie `The matrix`.
- cowthink - Same as `cowsay`, but uses a "think" bubble instead of a speech bubble.
- fortune - Generates random messages fetched from a quotation database.
- Steam Locomotive - A steam locomotive traverses the screen from right to left if `sl` is typed instead of `ls`.
- Steam Locomotive - A steam locomotive traverses the screen from right to left if `sl` is typed instead of `ls`.
- bollywood - Runs terminal screencasts in multiple panes, resulting in another real-time Hollywood-style real-time hacking terminal.
- boxes - Boxes is a command line filter program which draws ASCII art boxes around your input text.
- chadsay - Like cowsay, but pronounced by GigaChad.
- clouddrift - Soft clouds drifting across your terminal.
- daktilo - Turn your keyboard into a typewriter adding sounds at each keystroke.
- Draw - draw is an simple drawing tool in the terminal. Hold your mouse down and move it across the screen to draw anything you want!
- fortune - Generates random messages fetched from a quotation database.
- HARRY_POTTER_ALIASES - Harry Potter-themed aliases a magical journey through the wizarding world of terminal commands.
- hollywood - Runs a script turning your Linux terminal into a Hollywood style real-time hacking terminal.
- Limoji - Limoji is an open source tool that makes it easy to choose between hundreds of cool ASCII emoticons and share them with your friends.
- matrix-webcam - Take your video conference from within the matrix.
- pokeget - A bash script you can use to display cool sprites of Pokemon in your terminal.
- ponysay - Pony rewrite of cowsay.
- pyjokes - One line jokes for programmers (jokes as a service).
- Russhian Roulette - 1/6 chance of posting your SSH private key on pastebin (do you really want to try?).
- yosay - Like cowsay, but for yeoman.
- kyun - Kyun is a low productivity, low fidelity, low customizablity text editor that has its focus firm on user discomfort.
- bucklespring - Emulates the sound of the old IBM Model-M space saver bucklespring keyboard while typing.
- Splash - Program that adds color to your logs to make them easier to read.
- ting - The program provides audio feedback on the command line.
-
<a name="games"></a>Games
- Angband - Angband is a free, single-player dungeon exploration game.
- anonymine - Curses mode minesweeper without guessing and other original features.
- bastet - (Bastard Tetris) implements the classical Tetris but with a logic to generate the next block which maximizes the difficulty for the player.
- Cataclysm: Dark Days Ahead - Open source turn-based survival RPG development project.
- Dwarf fortress - A fantasy game using ASCII art graphical representation of the game environment, it features a rich environment with many options and possibilities.
- freesweep - A Minesweeper clone for the terminal which allows you to configure settings such as table rows and columns up to 1024x1024!), percentage of bombs, colors, and also has a high scores table.
- Frotz - Frotz is an interpreter for Infocom games and other Z-machine games.
- greed - A game of consumption. Eat as much as you can before munching yourself into a corner.
- Nethack - Single player rogue-like dungeon exploration game.
- Oldrunner - Character-based remake of Lode Runner, includes all the original 150 levels.
- Slash'EM - Rogue-like game derived from `nethack` offering extra features, monsters, and items; includes a GUI version.
- Terminal Phase - A space shooter game you can play in your terminal.
- 2048-cli - A 2048 clone that run in the terminal.
- asterion - Find your way through an inifinite maze in this multiplayer ssh game. Beware of the minotaurs!
- bastet - (Bastard Tetris) implements the classical Tetris but with a logic to generate the next block which maximizes the difficulty for the player.
- blackjack - IRC bot to play blackjack.
- Cemetery Escape - A game in which you must escape the cemetery. Search tombstones to find the key. Then head for the door, but watch out for ghosts.
- cheezee - Chess TUI client built for Linux.
- chess-tui - Play chess from your terminal.
- chs - Play chess against the Stockfish engine in your terminal.
- cli-chess - A highly customizable way to play chess in your terminal. Play online (via Lichess.org) and offline against the Fairy-Stockfish engine. All Lichess variants are supported.
- clidle - Wordle, now over SSH.
- crappybird-py - Flappy bird.
- dans-dungeon - A dungeon crawler engine written in Python.
- Dino - A C++ and ncurses rendering of the popular chrome dinosaur game on the terminal.
- Durak - Durak card game for two in a terminal.
- escaping-figures-game-cli - Count figure's occurrences in the escaping figures matrix.
- Flapioca - A Flappy Bird-inspired terminal game written in Go.
- gambit - Chess board in your terminal.
- gg - A collection of games you can play in your terminal; written in Go.
- go-sweep - Minesweeper game in the command line programmed in Go.
- greed - A game in which the goal is to move and consume all the numbers in a table.
- guess-word-cli - Find out a source word which characters was shuffled and moreover an extra character was added to bring some complexity.
- hangman - A Go TUI Hangman game built with the lovely BubbleTea framework.
- Language-games - Dead simple games made with word vectors.
- Maze of Me - A deeply personal psychological game powered by AI and real user data.
- mazter - A maze in your terminal.
- minesweeper - Cross-platform terminal based minesweeper.
- Minesweeper Game - A small command line Minesweeper Game.
- nc2048 - A ncurses 2048 game that can be played in the terminal.
- othello-cli - othello-cli is a CLI version of Othello (Reversi) written in Rust. You can play against another player, the AI, or watch two AIs play each other.
- Pokete - A terminal based Pokemon like game.
- rebels-in-the-sky - P2P terminal game about spacepirates playing basketball across the galaxy.
- rooshk - A command line game in which you act as god over a sandbox world.
- rpg-cli - Your filesystem as a dungeon!
- Sausage - Terminal word forming game, written in Bash, inspired by Bookworm.
- shellphone - Terminal based Terraria player file editor.
- sku - Simple TUI written in go to play sudoku in the terminal.
- Solitaire TUI - Klondike solitaire for the terminal.
- sshattrick - Play Hattrick in your terminal over SSH.
- sssnake - (Smart and sexy snake) The classic snake game for the terminal that can plays itself and be use like a screensaver.
- T-RexC - Simple Console Google T-Rex Game.
- terdle - Wordle implemented in Rust.
- term-asteroids - An Asteroids-like game, running in a terminal, written in PHP.
- Terminal Roulette - Your own roulette table in the terminal.
- terminal-doom - Play DOOM in modern terminals.
- terminal_board_games - Board games for the terminal.
- terminordle - Inspired by the popular online game wordle made, you can play a pretty close replica of the original locally or multiplayer over the network.
- tetrs - Tetromino game engine and terminal application to play Tetris, written in Rust.
- tui-sudoku - tui-sudoku is a configurable terminal interface sudoku game, with quite a few features.
- tuifoop - Terminal puzzle game with the goal of removing as many cells as possible (or even all cells) from a grid. A terminal clone of Swell Foop.
- usolitaire - Solitaire in your terminal.
- Wordle Solver - A bash script that can solve wordle riddles.
- wordle-curses - A simple TUI wordle game with curses.
- Words - A set of word-based puzzle games for the CLI while you wait for the build to run.
- awkaster - Pseudo-3D shooter written completely in gawk using raycasting technique.
- Balatro TUI - A minimal TUI clone of Balatro built in Rust.
- Bashtaker - Demake of Helltaker (videogame) written in bash.
- botany - A command line, realtime, virtual plant buddy.
- Brick Game emulator - Brick Game emulator that uses 4-bit microcontroller from Holtek.
- csol - Collection of solitaire/patience games, such as Klondike, FreeCell, Spider, and Yukon.
- CTetris++ - Feature-rich Tetris game written in C++ that runs in terminal with customizable visual styles and smooth gameplay.
- DOOM-ASCII - Text-based DOOM running in terminal without sound.
- Gameboy Emulator - A PHP Terminal GameBoy Emulator.
Programming Languages
Categories
<a name="graphics"></a>Graphics
109
<a name="networking"></a>Networking
101
<a name="music"></a>Sound and music
101
<a name="games"></a>Games
100
<a name="git"></a>Git and accessories
80
<a name="programming"></a>Programming
77
<a name="todo-manager"></a>Todo managers
69
<a name="text-processing"></a>Text processing
58
<a name="monitor"></a>System monitoring
54
<a name="chat"></a>Chat and instant messaging
52
<a name="utility"></a>Utilities
51
<a name="viewers"></a>Viewers
51
<a name="transfer"></a>Data transfer
50
<a name="ai"></a>AI / ChatGPT
50
<a name="system"></a>System tools
49
<a name="data-management-json"></a>Data management - JSON/YAML/etc.
48
<a name="online"></a>Online search and resources
43
<a name="security"></a>Security and encryption
40
<a name="data-management-tabular"></a>Data management - Tabular data
37
<a name="animation"></a>Animation
36
<a name="editors"></a>Editors
36
<a name="webdev"></a>Web development
35
<a name="writing"></a>Writing
34
<a name="note-taking"></a>Note taking
33
<a name="cheatsheet"></a>Commands cheatsheet and snippets
33
<a name="file-handling"></a>File and file system handling
31
<a name="monitor-top"></a>Process viewers and monitoring (alternatives to top)
30
<a name="file-manager"></a>File manager
29
<a name="time-tracker"></a>Time trackers
28
<a name="shells"></a>Shells
28
<a name="launcher"></a>Command launchers
28
<a name="terminal"></a>Terminals
27
<a name="email"></a>Email
26
<a name="funny"></a>Funny tools
26
<a name="package-manager"></a>Package managers
26
<a name="financial"></a>Financial tools
25
<a name="password-manager"></a>Password managers
24
<a name="typing"></a>Typing test and practice
23
<a name="office"></a>Office tools
23
<a name="cd"></a>Directory changers (alternatives to cd)
23
<a name="browser"></a>Web browser
23
<a name="science"></a>Science
23
<a name="organizers"></a>Organizers and calendars
22
<a name="devops"></a>DevOps
22
<a name="vm"></a>Containerization and virtualization
21
<a name="calc"></a>Calculators
21
<a name="productivity"></a>Productivity
20
<a name="backup"></a>Backup
20
<a name="data-management"></a>Data management
19
<a name="option-picker"></a>Fuzzy finders and option pickers
19
<a name="conversion"></a>Conversion
18
<a name="text-search"></a>Text search (alternatives to grep)
18
<a name="file-dir-cleanup"></a>Clean up of files and directories
17
<a name="file-renamer"></a>File renamers
16
<a name="video"></a>Video
16
<a name="ai-cli-commands"></a>AI terminal command generator
16
<a name="disk-analyzer"></a>Disk usage analyzers
15
<a name="rm"></a>File deletion and trash bin (alternatives to rm)
15
<a name="prompt"></a>Prompts
13
<a name="programming-boilerplate"></a>Program templates and boilerplate
13
<a name="copilot"></a>Co-pilot
12
<a name="screen-recorder"></a>Screen recorder
12
<a name="ls"></a>File listing (alternatives to ls)
12
<a name="diff"></a>Diff
12
<a name="rss"></a>RSS
12
<a name="file-explorer"></a>File explorer and tree visualization
11
<a name="flashcard"></a>Anki, decks and flashcards
11
<a name="copy-paste"></a>Copy/paste and clipboard
11
<a name="find"></a>File finding (alternatives to find)
10
<a name="learning"></a>Learning and didactic tools
10
<a name="torrent"></a>Torrent
10
<a name="file-watch"></a>File watching for changes
9
<a name="markdown"></a>Markdown
9
<a name="versioning"></a>Versioning
8
<a name="text-search-replace"></a>Text search and replace (alternatives to sed)
8
<a name="screensaver"></a>Screen savers
7
<a name="font"></a>Font management
7
<a name="religion"></a>Religion
6
<a name="history"></a>History management
6
<a name="file-system"></a>File systems
4
<a name="pastebin"></a>Pastebin
3
Sub Categories
Keywords
cli
407
terminal
289
tui
258
command-line
175
rust
170
golang
126
linux
120
go
120
python
119
command-line-tool
104
bash
81
shell
81
terminal-based
53
macos
50
git
46
console
43
c
38
zsh
36
json
34
developer-tools
32
ncurses
30
windows
30
productivity
30
python3
29
tool
29
unix
29
ai
29
bubbletea
29
terminal-app
27
nodejs
26
llm
26
markdown
26
vim
25
ssh
25
ratatui
25
monitoring
25
music
22
utility
22
cli-app
22
fzf
22
docker
22
ascii-art
21
cross-platform
20
devops
19
chatgpt
19
github
19
security
19
commandline
18
openai
17
game
17