An open API service indexing awesome lists of open source software.

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: 6 days ago
JSON representation

  • <a name="shells"></a>Shells

    • xonsh - The xonsh shell lets you easily mix Python and shell commands in a powerful and simplified approach to the command line.
    • mksh - (MirBSD Korn Shell) an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh).
    • murex - An intuitive, typed and content aware shell for the 2020s and beyond.
    • PowerShell - An automation and configuration tool/framework optimized for dealing with structured data, REST APIs, and object models.
    • Rash - A shell language, library, and REPL for Racket.
    • arsh - A statically typed scripting language with shell-like features.
    • Cat9 - Cat9 is a user shell script for LASH - a command-line shell that discriminates against terminal emulators, written in Lua.
    • cosh - Concatenative command-line shell.
    • DASH - DASH is a POSIX-compliant implementation of /bin/sh that aims to be as small as possible. It does this without sacrificing speed where possible.
    • dune - A customizable shell that aims to be cozy.
    • Elvish - Elvish is a versatile interactive shell and expressive programming language, combined into one seamless package.
    • es - (extensible shell) shell with first class functions, lexical scope, exceptions, and rich return values, based on Plan9's rc.
    • Ion - Ion is a modern system shell that features a simple, yet powerful, syntax.
    • ksh93 - (KornShell) a shell programming language that is compatible with the Bourne Shell in addition and has the major command-entry features of the BSD shell csh.
    • mksh - (MirBSD Korn Shell) an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh).
    • N-Commodore - A novel file manager/shell/command-line, where everything is panelized, greppable and remembered.
    • Nushell - A modern shell written in Rust, where all data is structured.
    • Oils - From their README: "Oils is our upgrade path from bash to a better language and runtime!"
    • oksh - Portable OpenBSD ksh.
    • Reptyl - A cross-platform command line shell that supports execution of commands in natural language.
    • Twin - Text mode window environment. A "retro" program for embedded or remote systems, that doubles as X11 terminal and text-mode equivalent of VNC server.
    • Yash - Yash (yet another shell) a POSIX-compliant command line shell written in C99.
    • Zsh - Alternative shell designed for interactive use.
    • SSHop - An SSH connection helper that let's you hop to a server with ease.
    • sshrc - The program works just like ssh while also sourcing your local sshrc configuration file upon logging in remotely.
  • <a name="system"></a>System tools

    • checksum.sh - Checksum.sh is a simple way to download, review, and verify install scripts. If the checksum is OK the script will be printed to stdout, which can be piped to sh or elsewhere.
    • conspy - "Conspy allows a (possibly remote) user to see what is displayed on a Linux virtual console, and send keystrokes to it."
    • lshw - A small tool to provide detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc.
    • chezmoi - Manage your dotfiles across multiple diverse machines, securely.
    • direnv - Loads and unloads environment variables depending on the current directory.
    • x-cmd - A toolset implemented using posix shell and awk offering many interesting features and that is very small in size.
    • active-win-cli - Get the title/id/etc of the active window.
    • argc-completions - Autocompletion for any shell and any command.
    • auto-cpufreq - Automatic CPU speed and power optimizer for Linux, which allows to dynamically change the settings of the CPU to save energy and extend the battery life on laptops.
    • bashmount - Tool to mount and unmount removable media from the command-line with a nice interface to list the available options..
    • brightnessctl - Read and control device brightness. Devices, by default, include backlight and LEDs - searched for in corresponding classes.
    • damon - TUI interface for Hashicorp Nomad, it provides functionality to observe and interact with Nomad resources such as Jobs, Deployments, or Allocations.
    • dtui - Small TUI for introspecting the state of the system/session dbus.
    • empiriqa - empiriqa (command name is epiq) is a tool for interactively manipulating UNIX pipelines.
    • fkill-cli - Simple cross-platform process killer.
    • fzf-kill - The no-nonsense task killer for your terminal.
    • has - Checks presence of various command line tools on the PATH and reports their installed version.
    • htui - Heroku Terminal User Interface: manage your apps, scale your dynos, browse logs in real time...
    • immortal - A *nix cross-platform (OS agnostic) supervisor.
    • inshellisense - IDE style command line auto complete with support for 600+ command line tools.
    • joshfile - Makefiles for those who dont want makefiles: specifies dependencies and commands via YAML configuration file.
    • just - Handy way to save and run project-specific commands.
    • Kill - Small bash-only script for killing processes/sending signals.
    • killport - A command-line tool to easily kill processes running on a specified port.
    • landrun - Run any Linux process in a secure, unprivileged sandbox using Landlock. Think firejail, but lightweight, user-friendly, and baked into the kernel.
    • lshw - A small tool to provide detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc.
    • mackup - Keep your application settings in sync (OS X/Linux).
    • Ntfy - Cross-platform Python utility that enables you to automatically get desktop notifications on demand or when long-running commands complete. It can as well send push notifications to your phone once a particular command completes.
    • ntfyme - Simple to use, cross platform notification tool which sends you local, gmail, telegram, etc notification when a long running process ends with detailed diagnostics, along with features like tracking for suspended process and terminate them automatically.
    • oswriter - A command-line tool for creating bootable USB drives from various operating system images.
    • qman - A more modern man page viewer for our terminals.
    • rfsh - Run shell scripts in batch, concurrently, fully customized with variable.
    • rs-env - Hierarchical environment variable management, compiling the resulting set of from a hierarchical list of `<name>.env` files.
    • rufl - RunFlow (rufl) is a command line tool that allows executing other commands either in parallel or sequentially.
    • Rumos - CLI utility for controlling screen brightness.
    • shournal - Log shell-commands and used files. Snapshot executed scripts. Fully automatic.
    • systemctl-tui - A fast simple TUI for interacting with systemd services and their logs.
    • systeroid - A more powerful alternative to sysctl(8) with a terminal user interface.
    • sysz - fzf terminal UI for systemctl.
    • trek - ncurses TUI explorer for Hashicorp Nomad clusters.
    • tufw - Terminal UI for the UFW Linux firewall.
    • ugm - A terminal based UNIX user and group browser.
    • viewport-list-cli - Return a list of devices and their viewports.
    • wander - HashiCorp Nomad terminal client.
    • YAS-BDSM - YAS-BDSM (Yet Another Stow-Based Dotfiles System Manager): a minimal, UNIX-based, cross-platform, hierarchical dotfiles manager.
    • ydf - A disruptive dotfiles manager+. Be ready to work in just a few minutes on your Fresh OS.
    • sysm - Makes your system play custom sounds when any configured system or external event happens.
    • fyora - Intuitive declarative dotfile management.
    • Marstui-rustio - A nice audio management Interface, similar to pavucontrol with the benefit of customizing everything.
  • <a name="terminal"></a>Terminals

    • byobu - A text-based window manager and terminal multiplexer; it features enhanced profiles, convenient keybindings, configuration utilities, and toggle-able system status notifications; compatible with `screen` and `tmux`.
    • screen - Terminal multiplexer that split a physical terminal between several processes, typically interactive shells.
    • Tmate - A fork of tmux that allows sharing the terminal with other users. AFAIK, it connects to a centralized server to establish the connection. Someone may see this inconvenient for privacy issues.
    • tmux - Terminal multiplexer; born to improve `screen`; client-server architecture, `vi` and `emacs` key-bindings, search in window feature and many more.
    • abduco - abduco provides session management i.e. it allows programs to be run independently from their controlling terminal.
    • extraterm - The swiss army chainsaw of terminal emulators.
    • kitty - A fast, feature-rich, GPU based terminal emulator.
    • mlterm - A very fast low latency terminal emulator with features such as rendering variable width fonts, proper bidirectional support out of the box, a daemon mode, multiple XIM, and true background transparency.
    • st - A simple terminal implementation for X.
    • byobu - A text-based window manager and terminal multiplexer; it features enhanced profiles, convenient keybindings, configuration utilities, and toggle-able system status notifications; compatible with `screen` and `tmux`.
    • dtach - A program written in C that emulates the detach feature of screen.
    • mtm - Micro Terminal Multiplexer - Simple but usable, stable and minimalistic terminal multiplexer.
    • mx - A tmux session manager written as a single Bash script.
    • mynav - A powerful terminal-based workspace navigator and session manager built in Go, MyNav helps developers organize and manage multiple projects through an intuitive interface, seamlessly integrating with tmux sessions.
    • peaches - A smart switcher for the terminal. Based on tmux.
    • tmux-nested - Plugin for nested tmux workflows.
    • tmux-session - Manage tmux sessions using fzf.
    • warp - Secure and simple terminal sharing.
    • wezterm - A GPU-accelerated cross-platform terminal emulator and multiplexer implemented in Rust with tons of features.
    • wterm - A native Wayland terminal emulator based on an st fork using wld.
    • Zellij - A workspace aimed at developers, ops-oriented people and anyone who loves the terminal. At its core, it is a terminal multiplexer.
    • ghostty - A fast, feature-rich, and cross-platform terminal emulator that uses platform-native UI and GPU acceleration.
    • tmux-nested - Plugin for nested tmux workflows.
    • vtm - Virtual terminal multiplexer with window manager and session sharing.
    • Textual Web - Run TUIs and terminals in your browser.
    • tvterm - A terminal emulator that runs in your terminal (Unix and Windows).
    • vtm - Virtual terminal multiplexer delivered as a single executable; It runs in native Windows or standard consoles, wraps any CLI app and supports infinite nesting to create a text-based desktop that bridges the gap between TUI and GUI.
  • <a name="text-processing"></a>Text processing

    • skroll - A small utility that you can use to make a text scroll. Pipe text to it, and it will scroll a given number of letters from right to left.
    • analiticcl - An approximate string matching or fuzzy-matching system for spelling correction, normalisation or post-OCR correction.
    • anew - Tool for adding new lines to files, skipping duplicates.
    • as-tree - Print a list of paths as a tree of paths.
    • awk - A historical, general-purpose text file processor, implements a domain-specific language designed for text processing and typically used as a data extraction and reporting tool.
    • brok - Find broken links in text documents.
    • catdir - A simple CLI utility that traverses directories and concatenates the contents of all files within a folder and its subfolders, similar to the Unix cat command, but for entire directory trees.
    • catselector - Interactive file selector for concatenating and exporting text files.
    • charfreq - Very simple command-line tool that counts (unicode) character frequency from standard input.
    • cho - The safe echo & quoting utility you always knew you needed, but were too afraid to ask [for].
    • choose - A human-friendly and fast alternative to cut and (sometimes) awk.
    • Colibri Core - A software to quickly and efficiently count and extract patterns (n-grams and more) from large corpus data, to extract various statistics on the extracted patterns, and to compute relations between the extracted patterns.
    • deadlink - Parses text files for HTTP URLs and checks if they are still valid. Good to use on Markdown documentation files.
    • detect-indent-cli - Detect the indentation of code.
    • dir2txt - A blazing-fast CLI tool to export a directory's structure and contents into a neatly formatted `.txt` or `.json` file.
    • espanso - Cross-platform Text Expander written in Rust. Not limited to the command line.
    • fullname-cli - Get the fullname of the current user.
    • grc - (Generic Colourizer) - parse a given text stream and to colorize it according to regexp written in configuration files; different patterns can be associated to file types.
    • grits - A simple line-text formatter that makes it simple to parse, filter, and format live logs turning noise into meaningful insights.
    • gtree - Using either Markdown or programmatically to generate directory trees and directories, and to verify directories.
    • gzip-size-cli - Get the gzipped size of a file.
    • HASHA CLI - Hashing made simple. Get the hash of text or stdin.
    • hburger - Shorten long strings and paths while preserving readability.
    • hck - A sharp cut clone.
    • huniq - Command line utility to remove duplicates from the given input. Note that huniq does not sort the input, it just removes duplicates.
    • json-leaves - Extract the leaves from a JSON file and show the paths to said leaves.
    • JsonGenius - Self-hosted scraping API that extracts structured data described by a JSON Schema.
    • kill-tabs - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
    • lexmatch - This is a simple lexicon matching tool that, given a lexicon of words or phrases, identifies all matches in a given target text, returning their exact positions. It can be used compute a frequency list for a lexicon, on a target corpus.
    • Line Select - A powerful utility enabling interactive line selection from stdin, allowing to seamlessly integrate, pause, select, and refine your pipeline, enhancing data processing precision.
    • lingua-cli - This is a small command-line tool for language detection, it is a simple wrapper around the lingua-rs library for Rust.
    • logshark - Logshark is a debugger CLI for JSON logs written in Go.
    • logu - Extract patterns from (streaming) unstructured log messages.
    • lolcat - Ruby Gem to colorize the output of the cat command.
    • modo - A cross platform cli app to interact with markdown style checkboxes within any text file.
    • neospeller - Spell checking for different languages comments.
    • Normalize Country - Convert country names and codes to a standard.
    • Output as Format - Output stdin as GitHub/Slack/Jira etc... formatted code, lists, or quotes.
    • pup - Parsing HTML at the command line.
    • rare - Real-time regex-extraction and aggregation into common formats such as histograms, bar graphs, numerical summaries, tables, and more!
    • rich - Rich-CLI is a command line toolbox for fancy output in the terminal, built with [Rich](https://github.com/Textualize/rich).
    • seaq - seaq (pronounced "seek") allows you to extract text data from the web and process it with your favorite prompt and LLM model, all from your terminal.
    • squeeze - Enables to extract rich information from any text (raw, JSON, HTML, YAML, etc).
    • ssam - Ssam, short for split sampler, splits one or more text-based input files into multiple sets using random sampling. This is useful for splitting data into a training, test and development sets.
    • stam-tools - A collection of command-line tools for working with STAM, a data-model for stand-off annotations on text.
    • swordfish-rs - Mimics real person behavior with real-time typing into terminal uses a screenplay where text and timings are specified.
    • to-double-quotes - Convert matching single-quotes to double-quotes.
    • to-single-quotes - Convert matching double-quotes to single-quotes.
    • toc - Generate a table of contents from the comments of a file.
    • toolong - A terminal application to view, tail, merge, and search log files (plus JSONL).
    • trre - Transductive regular expressions: an extension of the regular expressions for text editing and a grep-like command line tool.
    • trurl - Command line tool for URL parsing and manipulation.
    • tuc - You want to cut on more than just a character, perhaps using negative indexes or format the selected fields as you want... Maybe you want to cut on lines (ever needed to drop first and last line?)... That's where tuc can help.
    • ucto - Ucto tokenizes text files: it separates words from punctuation, and splits sentences. It has rules (regular-expression based) for several languages.
    • Ultimate Plumber - Helps to interactively and incrementally explore textual data in Linux, by making it easier to quickly build complex pipelines, thanks to a fast feedback loop.
    • wg-cmd - TUI for managing WireGuard configuration files.
    • yek - A fast Rust based tool to serialize text-based files in a repository or directory for LLM consumption.
    • xcut - A flexible field extractor and filter tool for the command line (extended version of the Unix cut command).
    • paragrep - Greps regular expressions in a text file(s) and prints out the paragraphs containing those expressions, a paragraph is defined as a block of text delimited by an empty or blank line, fully customizable via command line parameters.
    • sift - Fast and powerful alternative to `grep`; it targets flexibility and performance: can be as fast as `grep` and allows specifying complex expressions to find text.
    • ag - (The silver searcher) - a text search utility targeted to source code; it skips versioning systems data directories; it is inspired by `ack`, but faster.
    • ast-grep - A CLI tool for code structural search, lint and rewriting.
    • bookworm - LLM-powered bookmark search engine.
    • brave-bookmarks - Command-line script to query Brave's bookmark.
    • hae - Like grep but with natural language queries; useful to retrieve paragraphs of text that deal with specific topics.
    • hypergrep - Recursively search directories for a regex pattern using Intel Hypescan.
    • krep - Blazingly fast text search tool with multiple algorithms (Boyer-Moore, KMP, Rabin-Karp), SIMD acceleration, multi-threading, and regex support. Outperforms traditional tools with memory-mapped I/O and hardware optimizations for who need rapid pattern matching at scale.
    • nocjk - A simple CLI tool and library to detect CJK (Chinese, Japanese, and Korean) text.
    • paragrep - Greps regular expressions in a text file(s) and prints out the paragraphs containing those expressions, a paragraph is defined as a block of text delimited by an empty or blank line, fully customizable via command line parameters.
    • ripgrep - Recursively searches directories for a regex pattern.
    • ripgrep-all - grep in text files but also search in PDFs, E-Books, office documents, zip, tar.gz, etc.
    • semantic-grep - grep for words with similar meaning to the query.
    • ugrep - Ultra fast grep with interactive TUI, fuzzy search, boolean queries, hexdumps and more.
    • vgrep - User-friendly pager for grep.
    • zfind - Search for files (even inside tar/zip/7z/rar) using a SQL-WHERE filter.
    • Csope - C source code browser - Fork of Cscope version 15,9, with various improvements.
    • amber - Code search / replace tool.
    • Rep - Rep is a command-line utility that takes grep-formatted lines via standard input, and performs a find-and-replace on them.
    • repgrep - A replacer that uses ripgrep for finding and provides an interactive interface to replace the text.
    • sd - s[earch] & d[isplace] - An intuitive find & replace CLI a possible replacement for sed.
    • srgn - A code surgeon for precise text and code transplantation. A marriage of `tr`/`sed`, `rg` and `tree-sitter`.
    • teip - Select partial standard input and replace with the result of another command.
    • frep - Fast find-and-replace tool; search and replace in files in directories or process stdin.
    • scooter - Interactive find-and-replace TUI app; By default the program recursively searches through files in the current directory and can also be used to process text from stdin.
  • <a name="time-tracker"></a>Time trackers

    • arbtt - (automatic, rule-based time tracker) runs in the background, collecting information regarding open windows, focused ones, etc.; it can be configured to display statistics on the collected data, e.g., figuring out the time spent on one specific window.
    • aimssh - SSH Pomodoro app.
    • arbtt - (automatic, rule-based time tracker) runs in the background, collecting information regarding open windows, focused ones, etc.; it can be configured to display statistics on the collected data, e.g., figuring out the time spent on one specific window.
    • Bartib - Easy to use time tracking tool for the command line. It saves a log of all tracked activities as a plain-text file and allows you to create flexible reports.
    • dijo - Scriptable, curses-based, digital habit tracker.
    • doing - A command line tool for remembering what you were doing and tracking what you've done.
    • habitctl - Minimalist command line tool you can use to track and examine your habits.
    • habitmap - A command-line app to track your habits and visualise how committed you are to making or maintaining them with colorful heatmaps.
    • hours - A no-frills time tracking toolkit for command line nerds.
    • Moro - A command line tool for tracking work hours, as simple as it can get.
    • MyTimer - Simple timer for the terminal with timer-mode and alarm.
    • pom - Pomodoro timer for the terminal.
    • Productivity Timer - A CLI/TUI Pomodoro timer and todo (coming soon) application for keyboard addicts and terminal fans that makes you more productive.
    • Timer-CLI - A very simple countdown timer.
    • Timet - A lightweight, local time tracker with SQLite storage, offering features like Pomodoro integration, block time and tag distribution plots, detailed statistics, and CSV/iCalendar export.
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