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="data-management-tabular"></a>Data management - Tabular data
- qsv - CSVs sliced, diced & analyzed.
- qsv - qsv is a command line program for querying, slicing, indexing, analyzing, filtering, enriching, transforming, sorting, validating, joining, formatting & converting tabular data (CSV, spreadsheets, DBs, parquet, etc).
- rainfrog - A database management tui for PostGres.
- Soul - A SQLite REST and real-time server.
- sq - Command line tool that provides jq-style access to structured data sources such as SQL databases, or document formats like CSV or Excel.
- sqlite-utils - Python CLI utility and library for manipulating SQLite databases.
- tabiew - A lightweight, terminal-based application to view and query delimiter separated value formatted documents, such as CSV or TSV files.
- tabview - Python curses command line CSV and tabular data viewer.
- termdbms - A TUI for viewing and editing databases, written in pure Go.
- textql - Execute SQL against structured text like CSV or TSV.
- TSV Utilities - Command line tools for large, tabular data files.
- TV - Cross-platform CSV pretty printer made to maximize viewer enjoyment.
- usql - Universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and others, including NoSQL and non-relational databases.
- YAS-QWIN - YAS-QWIN (Yet Another SQL-Query Writing Interface) is a CLI tool for building (and optionally running) SQL queries.
- zsv - The world's fastest (simd) CSV parser, with an extensible, multi-purpose CLI.
- DBee - Fast & Minimalistic Database Browser (MySQL, MariaDB, PostgreSQL).
- dblab - Interactive client for PostgreSQL, MySQL, SQLite3, Oracle and SQL Server.
- LAZYSQL - A cross-platform TUI database management tool written in Go.
- levite - A TUI spreadsheet application that uses an RPN formulas and features a Vi-friendly interface.
-
<a name="devops"></a>DevOps
- Devbox - Devbox is a command-line tool that lets you easily create isolated shells and containers by defining the list of packages required by the environment.
- k9s - Kubernetes CLI To Manage Your Clusters In Style!
- mkdkr - Super small and powerful framework for build CI pipeline, scripted with Makefile and isolated with docker.
- OPS - Ops is a tool for creating and running a [Nanos](https://github.com/nanovms/nanos) unikernel. It is used to package, create, and run your application as a [Nanos](https://github.com/nanovms/nanos) unikernel instance.
- planor - The Cloud Aviator: TUI client for cloud services (AWS, Vultr, Heroku, Render.com, Fleek, ...).
- SAWS - A supercharged AWS command line interface (CLI).
- stern - Multi pod and container log tailing for Kubernetes.
- kubectx - Quickly switch between clusters and namespaces in kubectl.
- kubefwd - Bulk port forwarding Kubernetes services to localhost with unique IPs per service and interactive TUI.
- lazyjournal - Terminal user interface for reading logs from journald, auditd, file system, Docker (including Swarm) containers, Compose stacks, Podman and Kubernetes pods with support for output coloring and multiple filtering modes.
- Ducker - TUI for managing docker containers.
- E1S - TUI for browsing and managing AWS ECS resources.
- eks-node-viewer - Tool for visualizing dynamic node usage within a kubernetes cluster.
- KDash - A simple and fast terminal dashboard for Kubernetes.
- ktop - Tool that displays useful metrics information about nodes, pods, and other workload.
- kubetui - A TUI tool designed for monitoring Kubernetes resources.
- TFTUI - TUI to view and interact with Terraform state.
- Amazon EC2 Instance Selector - A CLI tool and go library which recommends instance types based on resource criteria like vcpus and memory.
- lazycontainer - TUI for managing Apple containers.
- podman-tui - TUI for Podman environment.
- PUG - TUI for Terraform (perform tasks in parallel, manage state resources, calculate costs, automatically loads workspace variable files).
- sen - TUI for containers (manages interactively and inspects containers, dashboard view for containers and images, searching and filtering, real-time updates, tree view of all images).
-
<a name="diff"></a>Diff
- csv-diff - Python CLI tool and library for diffing CSV and JSON files
- delta - A syntax-highlighter for git and diff output.
- diff-so-fancy - Make your diffs human-readable instead of machine-readable.
- diff2html-cli - Parse git diffs as JSON and generate pretty HTML.
- Difftastic - Syntax-aware structured diff tool.
- Dirdiff - Efficiently compute the differences between two directories.
- dyff - A diff tool for YAML files, and sometimes JSON.
- leven-cli - Measure the difference between two strings using the Levenshtein distance algorithm.
- pdf-diff - A tool for visualizing differences between two PDF files. Mainly dedicated to editors that usually spends a lot of hours on several PDFs.
- sesdiff - Generates a shortest edit script (Myers' diff algorithm) to indicate how to get from the strings in column A to the strings in column B. Also provides the edit distance (levenshtein).
- ydiff - View colored, incremental diff.
- LLM Prompt Semantic Diff - A CLI tool for managing and comparing LLM prompts using semantic diffing instead of traditional text-based comparison.
-
<a name="disk-analyzer"></a>Disk usage analyzers
- cdu - (colored `du`) - a Perl script that calls `du` and displays a pretty histogram with optional colors allowing to immediately see the directories which take most disk space.
- ncdu - "A disk usage analyzer with a ncurses interface. It is designed to find space hogs on a remote server where you don't have an entire graphical setup available."
- cdu - (colored `du`) - a Perl script that calls `du` and displays a pretty histogram with optional colors allowing to immediately see the directories which take most disk space.
- dfc - Report file system space usage information with style.
- diskonaut - Terminal disk space navigator that traverse the file-system with a TUI interface.
- diskus - Minimal, fast alternative to du -sh.
- dua - Disk Usage Analyzer. Learn about the usage of disk space of a given directory with parallel access to max out SSD exploration.
- duf - Disk Usage/Free Utility.
- Dust - du + rust = dust. Like du but more intuitive.
- dutree - A tool to analyze file system usage written in Rust.
- erdtree - A multithreaded file-tree visualizer and disk usage analyzer.
- gdu - Pretty fast disk usage analyzer written in Go. Gdu is intended primarily for SSD disks where it can fully utilize parallel processing. However, HDDs work as well, but the performance gain is not so huge.
- mac-storage-manager - A cross‑platform CLI for macOS & Linux that reclaims disk space by identifying and removing large apps and associated files, with multi‑language interface (40+ translations), robust logging, and seamless Homebrew integration (macOS) for a safe, interactive cleanup experience.
- vizex - Visualize the disk space usage for every partition and media on the user's machine.
- diskroaster - Multi-threaded disk testing utility that writes and verifies data on a raw disk device (designed to stress-test hard drives and SSDs by dividing the disk into sections, writing data in parallel using multiple threads and verifying the written content).
-
<a name="editors"></a>Editors
- ed - GNU ed is a line-oriented text editor. It is used to create, display, modify and otherwise manipulate text files, both interactively and via shell scripts.
- Emacs - One of the godfathers of text editors, free long-standing software project, with a huge amount of functionalities and extensions; implemented and extendable with E-Lisp.
- Feather - The only terminal based text editor designed to work with BIG files.
- jed - A text editor with a drop-down menu facility that make it especially user-friendly.
- joe - (Joe's Own Editor) is a compact text editor written in C, a detailed list of features and missing ones is explicitly reported in the website, this editor is mentioned in several web sources for its capability in handling large files.
- Kakoune - Modal editor, faster as in less keystrokes, multiple selections, orthogonal design.
- nano - Easy to use, lightweight text editor; no complex keybindings to remember; the main ones are shown in the main menu.
- neovim - A work in progress attempt to improve [vim](http://www.vim.org/), dropping older/unused OS compatibility, improving the codebase readability, modularity, and maintainability; it has chances to become the next choice of vim users.
- Tilde - Tilde is a text editor that provides an intuitive interface for people accustomed to GUI environments, usual shortcuts for common operation, a traditional menu bar, etc.
- VE - Lean, fast and feature rich text editor.
- WordGrinder - From the website: "WordGrinder is a word processor for processing words. It is not WYSIWYG. It is not point and click. It is not a desktop publisher. It is not a text editor. It does not do fonts and it barely does styles. What it does do is words. It's designed for writing text. It gets out of your way and lets you type."
- aretext - Minimalist text editor with vim-compatible key bindings.
- ash - A simple and clean terminal-based text editor, that aims to be easy to use with modern key-bindings.
- Bob - Bob is a cross-platform and easy-to-use Neovim version manager, allowing for easy switching between versions.
- Diakonos - A powerful editor with “standard" keybindings and several advanced features; written in Ruby.
- edit - This editor pays homage to the classic MS-DOS Editor, but with a modern interface and input controls similar to VS Code.
- eon - A light, modern editor for your terminal that doesn't want to be vim.
- Helix - A Kakoune / Neovim inspired editor, written in Rust. The editing model is very heavily based on Kakoune.
- jed - A text editor with a drop-down menu facility that make it especially user-friendly.
- micro - Aims to be a successor to [`nano`](https://www.nano-editor.org/). Aiming to be easy to use, it has a nano-like keybindings menu; also takes advantage of the full capabilities of modern terminals, supports mutiple cursors, and has a plugin system. Written in Go.
- o - Configuration-free text editor and IDE limited to VT100. Suitable for writing git commit messages, editing Markdown, config files, source code, viewing man pages and for quick edit-compile cycles when programming.
- ox - An independent Rust text editor.
- slap - Text editor inspired by [Sublime Text](https://www.sublimetext.com/) written in NodeJS, extendable in JavaScript.
- vai - Text editor similar to `vim` written in Python; many features are nicely replicated, some are still missing; however, the advantage of this implementation is its simplicity, maintainability and extensibility, thanks to the Python implementation.
- VE - Lean, fast and feature rich text editor.
- vis - "a modern, legacy free, simple yet efficient vim-like editor", and more: "The intention is not to be bug for bug compatible with vim, instead a similar editing experience should be provided. The goal could thus be summarized as 80% of vim's features implemented in roughly 1% of the code"; the editor is scriptable in LUA and supports editing large files.
- vy - A vim-like in Python made from scratch.
- zee - Zee is a modern editor for the terminal, in the spirit of Emacs. It is written in Rust and it is somewhat experimental.
- Amp - A complete text editor for your terminal.
- C-EDIT - A text editor in C with drop down menus in the style of MS-DOS Editor.
- Helix - A text editor with multiple selections, tree-sitter integration, powerful code manipulation, language server support and other modern builtin features.
- maki - A simple text editor with file navigation and an emphasis on preserving battery life.
- Turbo - An experimental text editor for the terminal, based on Scintilla and Turbo Vision.
- vicut - Vim-based, scriptable and headless text editor for the command line, it can be used to extract fields, edit text files in-place and apply global substitutions and more.
- Erys - Terminal Interface for Jupyter Notebooks.
- joe - (Joe's Own Editor) - a compact text editor written in C, a detailed list of features and missing ones is explicitly reported on the website. This editor is mentioned in several web sources for its capability in handling large files.
-
<a name="email"></a>Email
- aerc - A pretty good email client
- alpine - Mail client which aims at being "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".
- mbsync - Mailboxes synchronization tool, allows to download email locally, MailDir format supported.
- meli - BSD/Linux terminal email client with support for multiple accounts and Maildir / mbox / notmuch / IMAP / JMAP.
- Mutt - Mail client with tons of features, customization chances, support for IMAP, POP3, multiple storage formats.
- NeoMutt - Patched and up-to-dated mutt fork.
- Notmuch - Notmuch is a command-line based program for indexing, searching, reading, and tagging large collections of email messages.
- sup - MUA written in Ruby; specifically developed for accounts with "a lot of emails"; nice thread-based presentation.
- alot - MUA written in Python using the [NotMuch](https://notmuchmail.org/) backend, MailDir format support.
- maildir-rank-addr - Creates a ranked list of email addresses from local email files, which can be used for address completion for example in aerc.
- meli - Terminal mail client.
- Mutt - Mail client with tons of features, customization chances, support for IMAP, POP3, multiple storage formats.
- nmail - nmail is a console-based email client for Linux and macOS with a user interface similar to alpine / pine.
- paws - sendmail/maildir interface to Slack.
- pop - Send emails from your terminal; it uses the API at [https://resend.com/](resend.com).
- pymailgen - Starting from the content of a CSV file and a template text file, pymailgen generates a list of emails to be sent out using a command-line SMTP client.
- tmpmail - A command line utility written in POSIX sh that allows you to create a temporary email address and receive emails to the temporary email address.
- Himalaya - Command-line interface for email management.
- mailsy - Generates disposable emails in the CLI through [mail.tm](https://mail.tm).
- quackalias-cli - Scripts to generate DuckDuckGo email aliases and store the history of generated aliases.
- abook - TUI addressbook with Mutt mail client integration (runs on Linux, FreeBSD and other UNIXes).
- gmailtail - Command-line tool to monitor Gmail messages and output the as JSON; The program in designed for automation, monitoring and integration with other tools.
- Himalaya - CLI to manage emails.
- Mailtide - Lightweight Python-based CLI email client that allows you to browse and manage IMAP inboxes via terminal and send emails.
- Open Archiver - The program provides a solution for archiving, storing, indexing and searching emails from major platforms.
- mbsync - Mailboxes synchronization tool, allows downloading email locally, MailDir format supported.
-
<a name="file-dir-cleanup"></a>Clean up of files and directories
- detox - Easily clean up filenames; it replaces characters like spaces with standard equivalents and UTF-8 or Latin-1 (or CP 1252) characters with more handy ones.
- backdown - Safely and ergonomically remove duplicate files
- classifier - Organize files in your current directory, by classifying them into folders of music, PDFs, images, etc.
- detox - Easily clean up filenames; it replaces characters like spaces with standard equivalents and UTF-8 or Latin-1 (or CP 1252) characters with more handy ones.
- Dext - (Directories by Extensions) is a script that moves (or copies) files of the same extension into a folder.
- duple - Find and remove duplicate files.
- FClones - Efficient Duplicate File Finder.
- Framed - A CLI tool that simplifies the organization and management of files and directories in a reusable and architectural manner.
- inventory - Move files like an old text adventure.
- organize-cli - Organize your files automatically.
- rmlint - Recursively scan a directory tree looking for duplicate and broken files; it outputs statistics and save the list of files in JSON format and produces a shell script that can be inspected before running it to delete the desire files.
- smash - Smash through to find duplicate files super fast by slicing files intelligently.
- image-sorter - Terminal user interface for sorting images using key bindings written in Rust; It requires w3m to render the images.
- NTC - A program that, based on the contents of a folder, create tabs (subfolders inside the selected folder) and displays their contents.
- Duplito - Command-line tool designed to help you identify duplicate file on your system by listing the files in folders like ls does and highlighting what is duplicate.
- mat2 - Metadata removal tool, supporting a wide range of commonly used file formats.
- doggo - CLI tool that uses AI to help you search for and organize images using natural language queries (instead of remembering filenames, you can describe what you're looking for).
-
<a name="file-explorer"></a>File explorer and tree visualization
- tree - "Recursive directory listing command that produces a depth indented listing of files".
- alder - Directory tree visualizer.
- browsr - A pleasant file explorer that can browse the contents of local and remote filesystems with your keyboard or mouse; remotes include GitHub, over SSH, in AWS S3, Google Cloud Storage, or Azure Blob Storage.
- Hop! - File explorer designed to be fast, simple and user-friendly, running on any operating system.
- ictree - Like tree but interactive.
- kupo - A terminal file browser, kupo!
- Rust-Traverse - Rust traverse is a terminal based file explorer. It is inspired by the NNN file manager. It uses Ratatui for the terminal UI, with Crossterm for the terminal backend.
- tere - Terminal file explorer that is a faster alternative to using cd and ls to browse folders in your terminal.
- tre - `tree` command improved with git awareness, editor aliasing, and colors.
- twf - Standalone tree view file explorer.
- xplr - A hackable, minimal, fast TUI file explorer, stealing ideas from nnn and fzf.
-
<a name="file-handling"></a>File and file system handling
- TUI Archiver - A TUI/CLI application to list / manage archives. Can be used stand-alone and has some features for integrating with TUI file managers
- burf - TUI for Google Cloud Storage (GCS).
- choof - Choof is a fast and minimal CLI tool for managing files, built with Bubble Tea for Linux.
- compsize - Find compression type/ratio on a file or set of files on a btrfs file system.
- conan - Find clue about the type of the file.
- dlorg - Powerful and intuitive that automatically organizes your cluttered Downloads folder into a neatly structured directory system.
- doppelganger - Save and load your shell environment to create doppelganger shells!
- dotbins - Keep updated binaries in your dotfiles.
- dtrx - (Do The Right eXtraction) aims at taking "all the hassle out of extracting archives"; allows using one command to extract archives in different formats, recursive extraction (files into file) and extracts files into dedicated directories.
- file-type-cli - Detect the file type of a file or stdin.
- ForkFS - ForkFS allows you to sandbox a process's changes to your file system.
- fstk - Stack-based file & directory manager: modern "cut/paste" alternative to mv.
- gcp - (Goffi's cp) - an advanced file copier tool, heavily inspired from the traditional `cp` command, but with some additional features: Displays the copy progress indicator, with estimated time, current file speed; logs of all actions; resume of interrupted copy processes.
- gcstree - Tree command for GCS (Google Cloud Storage).
- lib-x - Browse your calibre library from the terminal.
- logrotate - Rotate, compress and mail logs.
- ouch - Painless compression and decompression in the terminal.
- PathPicker - A tool from Facebook that parses the output from a command and presents a UI to select files and directories, can be used to apply a command of a interactively selected files or to move across directories.
- progress - Monitor the progress of common Coreutils command-line tools (`cp`, `mv`, `dd`, `tar`, `rsync`, etc.); it uses a ncurses interface to display the percentage of data copied; it works by reading from system files and retrieving the necessary information for the estimation.
- qcp - Quick File Copy using QUIC.
- Snoop - A command-line utility for Linux that provides information about files in a directory.
- symlinks - Symlinks is a simple tool that helps find and remedy problematic symbolic links on a system.
- treegen - ASCII tree directory and file structure generator.
- unix-permissions - Swiss Army knife for Unix permissions.
- vidir - vidir allows editing of the contents of a directory in a text editor.
- xcp - Extended cp.
- zip-stream-cli - A tool that allows to stream and display the contents of various file types from a remote ZIP archive directly in your terminal. With support for images, audio files, text, PDFs, and more,
- Fast Files - ff is a bash script which is a combination of `mkdir` and `touch`. It can create directory structures and files simultaneously and lists the created objects using `eza`, `lsd`, or `ls`.
- pycp - cp and mv with a progress bar.
- CHMpy-sp - TUI made from Textual for changing file/folder permission in Linux.
- doxx - Terminal native document viewer for Word files (view, search and export documents).
-
<a name="file-manager"></a>File manager
- lfm - (Last File Manager) - a file manager written in Python; it comes with lots of features, including 1-pane or 2-pane view, files filters and bookmarks, tree view, virtual file-systems to open compressed archives, search in files, customizable keybindings and themes.
- ranger - File manager with vi key bindings, curses interface with a view on the directory hierarchy, comes with a file launcher that automatically determines which program to use for opening a given file type.
- vifm - "ncurses based file manager with vi like keybindings/modes/options/commands/configuration, which also borrows some useful ideas from mutt" (cit.).
- cfiles - ncurses file manager written in C with vim like keybindings
- clifm - A CLI-based, shell-like, and non-curses terminal file manager written in C: simple, fast, extensible, and lightweight as hell.
- felix - TUI file manager with vim-like key mapping
- fff - Fast, simple file manager written in bash.
- fman - TUI File Manager
- fzfm - A command-line fuzzy finder file manager.
- goful - Goful is a CUI file manager written in Go.
- hunter - Ranger-like file browser written in rust.
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