Last Updated on September 20, 2024
With the bamboozling quantity of open source software available to download, it’s really difficult to keep up with the cream of the cream. That’s where this compilation aims to help.
This article selects 100 awesome command-line interface (CLI) apps. The compilation mostly reflects software our volunteers use as their daily drivers. We try to select as wide a mix as possible, avoiding duplication wherever possible.
If you’re wondering why TUI apps are not present here that’s because they have their own apps article. If you’re looking for GUI apps, they also have their own dedicated apps article.
All the CLI apps here run on Linux. Many run under macOS. Some run natively on Windows. Note, we only indicate that macOS / Windows are supported if it’s clear the app runs on them natively. The vast majority of the apps will run under the Windows Subsystem for Linux (WSL) and/or Cygwin.
Without further ado, let’s get the ball rolling.
Whisper
Whisper is an automatic speech recognition (ASR) system trained on 680,000 hours of multilingual and multitask supervised data collected from the web. Powered by deep learning and neural networks, Whisper is a natural language processing system that’s built on PyTorch.
If you’re not amazed by the accuracy of Whisper, we’ll be shocked!
Website // MIT License // Written in Python
git
git is a distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
git is easy to learn and has a tiny footprint with lightning fast performance.
Website // GNU General Public License v2.0 // Written in C
make
make is a tool which controls the generation of executables and other non-source files of a program from the program’s source files.
Website // GNU General Public License v3.0 // Written in C
dust
dust gives an instant overview of which directories are using disk space. Its name derives from the du command and that dust is written in Rust. dust is intended to be more intuitive than du.
There are quite a few other command-line utilities that offer a replacement for du. On balance, we consider dust to be the best (duf is great too).
Website // Apache License 2.0 // Written in Rust
aria2
aria2 is a lightweight multi-protocol and multi-source command-line download utility.
It supports HTTP/HTTPS, FTP, SFTP, BitTorrent and Metalink. aria2 can be manipulated via built-in JSON-RPC and XML-RPC interfaces.
Website // GNU General Public License v2.0 // Written in C++
zoxide
zoxide is a smarter cd command, inspired by z and autojump.
It remembers which directories you use most frequently, so you can “jump” to them in just a few keystrokes.
zoxide works on all major shells.
Website // MIT License // Written in Rust
asciinema
asciinema lets you record terminal sessions and share them on the web.
Website // GNU General Public License v3.0 // Written in Python
LZ4
LZ4 is lossless compression algorithm, providing compression speed > 500 MB/s per core (>0.15 Bytes/cycle). It features an extremely fast decoder, with speed in multiple GB/s per core (~1 Byte/cycle). A high compression derivative, called LZ4_HC, is available, trading customizable CPU time for compression ratio.
Website // BSD 2-Clause license // Written in C
ffmpeg
FFmpeg consists of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of video and audio files.
Website // GNU Lesser General Public License Version 2.1 // Written in C and Assembly
gcc
The GNU Compiler Collection (GCC) is an optimizing compiler supporting various programming languages, hardware architectures and operating systems. It includes front ends for C, C++, Objective-C, Fortran, Ada, Go, and D, as well as libraries for these languages.
Website // GNU General Public License v3.0 // Written in C and C++
bat
bat is billed as a cat clone on wings.
bat receives our strongest recommendation. It’s such a useful utility that you’ll wonder how you managed without it.
Website // MIT License or the Apache License 2.0 // Written in Rust
radio-active
Play any internet radio station around the globe right from the terminal.
If you like terminal apps and listening to radio stations, you’ll love radio-active.
Website // MIT License // Written in Python
inxi
If you need help from the Linux community, inxi is an essential utility that lets others help you debug issues. By providing concise information about a system, while filtering out sensitive data, it’s a time-saver for all participants.
Website // GNU General Public License v3.0 // Written in Perl
mpv
mpv is a media player for the command line. It supports a wide variety of media file formats, audio and video codecs, and subtitle types.
Website // GNU General Public License v2.0 // Written in C
Pandoc
Pandoc is a universal markup converter. The range of supported formats is truly breathtaking.
Website // GNU General Public License v2.0 // Written in Haskell
OpenSSH
OpenSSH is a suite of secure networking utilities based on the Secure Shell protocol, which provides a secure channel over an unsecured network in a client–server architecture. It includes a client ssh and server sshd, file transfer utilities scp and sftp as well as tools for key generation (ssh-keygen), run-time key storage (ssh-agent) and a number of supporting programs.
Website // BSD Licence // Written in C
cheat.sh
cheat.sh is software for community driven cheat sheets repositories of the world.
Website // MIT License // Written in Python
onefetch
onefetch is a command-line Git information tool written in Rust that displays project information and code statistics for a local Git repository directly to your terminal. The tool is completely offline – no network access is required. onefetch supports more than 100 different programming languages.
Website // MIT License // Written in Rust
ClamAV
ClamAV is an antivirus engine for detecting trojans, viruses, malware and other malicious threats.
Website // GNU General Public License v3.0 // Written in C and C++
Coreutils
Coreutils are basic file, shell and text manipulation utilities. These are the core utilities which are expected to exist on every operating system.
Website // GNU General Public License v2.0 // Written in C
ps_mem
ps_mem is a wonderfully useful utility. It interrogates the kernel to obtain the memory information, outputting the information in a clean and uncluttered way. It’s awesome software.
Website // GNU Lesser General Public License v2.1 // Written in Python
TLP
TLP is a feature-rich command line utility, saving laptop battery power without the need to delve deeper into technical details.
TLP’s default settings are already optimized for battery life and implement Powertop’s recommendations out of the box. So you may just install and forget it.
+++ Configured Settings (only differences to defaults): /etc/tlp.conf L0088: CPU_SCALING_GOVERNOR_ON_BAT="powersave" /etc/tlp.conf L0501: START_CHARGE_THRESH_BAT0="75" /etc/tlp.conf L0502: STOP_CHARGE_THRESH_BAT0="80" /etc/tlp.conf L0508: START_CHARGE_THRESH_BAT1="75" /etc/tlp.conf L0509: STOP_CHARGE_THRESH_BAT1="80"
Website // GNU General Public License v2.0 // Written in Shell
ddrescue
ddrescue is an ever so useful data recovery tool. It copies data from one file or block device to another, trying to rescue the good parts first in case of read errors.
Website // GNU General Public License v2.0 // Written in C++
Rclone
Rclone manages files on cloud storage. It is a feature-rich alternative to cloud vendors’ web storage interfaces. Over 40 cloud storage products support rclone including S3 object stores, business and consumer file storage services, as well as standard transfer protocols.
Website // MIT License // Written in Go
restic
Restic is a modern, fast, and secure backup program that can back up your files. It supports many different storage types, including self-hosted and online services.
Website // BSD 2-Clause “Simplified” License // Written in Go
just
just is a handy way to save and run project-specific commands.
Website // Creative Commons Zero v1.0 Universal // Written in Rust
ripgrep
ripgrep recursively searches directories for a regex pattern while respecting your gitignore.
ripgrep is an excellent utility. It’s built on top of Rust’s regex engine. Rust’s regex engine uses finite automata, SIMD and aggressive literal optimizations to make searching extremely quick.
The tool is not going to replace grep. For example it doesn’t conform to any standard such as POSIX. But it’s an incredibly useful utility that offers the features of most similar tools.
Website // Unlicense and MIT licenses // Written in Rust
Firejail
Firejail is a SUID program that reduces the risk of security breaches by restricting the running environment of untrusted applications using Linux namespaces and seccomp-bpf. It allows a process and all its descendants to have their own private view of the globally shared kernel resources, such as the network stack, process table, mount table.
Website // GNU General Public License v2.0 // Written in C
McFly
McFly replaces your default ctrl-r shell history search with an intelligent search engine that takes into account your working directory and the context of recently executed commands. McFly’s suggestions are prioritized in real time with a small neural network.
Website // MIT License // Written in Rust
localtunnel
localtunnel exposes your localhost to the world for easy testing and sharing! No need to mess with DNS or deploy just to have others test out your changes.
Website // MIT License // Written in JavaScript
Nmap
Nmap (“Network Mapper”) is a utility for network discovery and security auditing. Many systems and network administrators also find it useful for tasks such as network inventory, managing service upgrade schedules, and monitoring host or service uptime.
Website // Nmap Public Source License// Written in C, Lua and C++
GoTTY
GoTTY is a simple command line tool that turns your CLI tools into web applications.
Website // MIT License // Written in Go and TypeScript
tar
tar (short for Tape ARchiver) command is the most widely used archiving utility in Linux systems. The tar command helps create, extract, and list archive contents.
Website // GNU General Public License v3.0 // Written in C
HTTPie
HTTPie is an HTTP client. Its goal is to make CLI interaction with web services as human-friendly as possible. HTTPie is designed for testing, debugging, and generally interacting with APIs & HTTP servers.
Website // BSD 3-Clause “New” or “Revised” License // Written in Python
mitmproxy
mitmproxy is your swiss-army knife for debugging, testing, privacy measurements, and penetration testing. It can be used to intercept, inspect, modify and replay web traffic such as HTTP/1, HTTP/2, WebSockets, or any other SSL/TLS-protected protocols.
Website // MIT License // Written in Python
GnuPG
GnuPG allows you to encrypt and sign your data and communications; it features a versatile key management system, along with access modules for all kinds of public key directories. GnuPG, also known as GPG, is a command line tool with features for easy integration with other applications.
$ gpg -K --with-subkey-fingerprint B21DEAB4F875FB3DA42F1D1D139563682A020D0A
sec ed25519 2016-06-22 [SC]
B21DEAB4F875FB3DA42F1D1D139563682A020D0A
uid [ultimate] patrice.lumumba@example.net
ssb cv25519 2016-06-22 [E]
8D0221D9B2877A741D69AC4E9185878E4FCD74C0
ssb# brainpoolP384r1 2021-06-28 [R] [expires: 2027-01-10]
A1DB793DC23663E7F91475D82B999FA9CE046B1B
ssb# cv25519 2016-02-14 [R]
DC9DAC608A8F118FD8D0F332F4EC45F11B457A45
Website // GNU General Public License v3.0 // Written in C
howdoi
howdoi offers instant coding answers via the command line.
$ howdoi print hello in Rust
Website // MIT License // Written in Python
Beets
Beets gets your music collection right once and for all. It catalogs your collection, automatically improving its metadata as it goes using the MusicBrainz database. Then it provides a bouquet of tools for manipulating and accessing your music.
Website // MIT License // Written in Python
ImageMagick
ImageMagick is an awesome software suite for displaying, creating, converting, modifying, and editing raster images.
Website // ImageMagick License// Written in C
diff-so-fancy
diff-so-fancy aims to make your diffs human readable instead of machine readable. This helps improve code quality and helps you spot defects faster.
Website // MIT License // Written in Perl
Parted
Parted manipulates partition tables. This is useful for creating space for new operating systems, reorganizing disk usage, copying data on hard disks and disk imaging. The package contains a library, libparted, as well as a command-line frontend, parted, which can also be used in scripts.
Website // GNU General Public License v3.0 // Written in C
exa
exa is a genuine alternative to ls. You don’t lose any speed, and gain a number of useful advantages that makes for a compelling usage case.
Website // MIT License // Written in Rust
rsync
rsync is a fast and extraordinarily versatile file copying tool. It can copy locally, to/from another host over any remote shell, or to/from a remote rsync daemon.
Website // GNU General Public License v3.0 // Written in C
Unison
Unison is a bidirectional file synchronization tool. It allows two replicas of a collection of files and directories to be stored on different hosts (or different disks on the same host), modified separately, and then brought up to date by propagating the changes in each replica to the other.
Website // GNU General Public License v3.0 // Written in OCaml
pet
pet is a simple command-line snippet manager.
We often forget useful commands, particularly ones with lots of flags. We could create aliases or use the history command combined with grep to alleviate this issue. But pet arguably offers a slicker way, as it lets us search the snippets to quickly find what we need.
Website // MIT License // Written in Go
tldr
The tldr pages are a community effort to simplify the beloved man pages with practical examples.
Website // MIT License // Written in Markdown
Qalculate!
Qalculate! is a multi-purpose cross-platform desktop calculator. It is simple to use but provides power and versatility normally reserved for complicated math packages, as well as useful tools for everyday needs (such as currency conversion and percent calculation).
Features include a large library of customizable functions, unit calculations and conversion, physical constants, symbolic calculations (including integrals and equations), arbitrary precision, uncertainty propagation, interval arithmetic, plotting, and a user-friendly interface (GTK, Qt, and CLI).
Website // GNU General Public License v2.0 // Written in C++
scrot
scrot is a simple command line screen capture utility, it uses imlib2 to grab and save images.
One of the many advantages of open source software compared to its proprietary counterparts is that open source projects can be resurrected if the original developer(s) abandons a project. scrot is one such project that has been resurrected.
Website // MIT License // Written in C
scc
Sloc Cloc and Code (scc) is a tool similar to cloc, sloccount and tokei. It’s for counting physical the lines of code, blank lines, comment lines, and physical lines of source code in many programming languages.
Website // MIT License // Written in Go
MyCLI
MyCLI is an interface for MySQL, MariaDB, and Percona with auto-completion and syntax highlighting.
Website // BSD 3-clause License // Written in Python
Streamlink
Streamlink is a utility which pipes video streams from various services into a video player, such as VLC. The main purpose of Streamlink is to avoid resource-heavy and unoptimized websites, while still allowing the user to enjoy various streamed content.
Website // BSD 2-Clause “Simplified” License // Written in Python
ddgr
ddgr is a utility to search DuckDuckGo from the terminal.
Website // GNU General Public License v3.0 // Written in Python
trash-cli
trash-cli trashes files recording the original path, deletion date, and permissions. It uses the same trashcan used by KDE, GNOME, and XFCE, but you can invoke it from the command line (and scripts).
Website // GNU General Public License v2.0 // Written in Python
ttygif
ttygif converts a ttyrec file into gif files. It’s a stripped down version of ttyplay that screenshots every frame.
Website // MIT License // Written in C
yank
yank reads input from stdin and display a selection interface that allows a field to be selected and copied to the clipboard.
Website // MIT License // Written in C
SoX
SoX is a utility that converts various formats of computer audio files in to other formats. It can also apply various effects to these sound files, and, as an added bonus, SoX can play and record audio files on most platforms.
Website // GNU General Public License v2.0 // Written in C
Zsh
Zsh) is a shell that can be used as an interactive login shell and as a command interpreter for shell scripting. Zsh is an extended Bourne shell with many improvements, including some features of Bash, ksh, and tcsh.
Website // MIT License // Written in C
Fig
Fig pops up subcommands, options, and contextually relevant arguments in your existing terminal.
Website // MIT License // Written in TypeScript
hexyl
hexyl is a simple hex viewer for the terminal. It uses a colored output to distinguish different categories of bytes (NULL bytes, printable ASCII characters, ASCII whitespace characters, other ASCII characters and non-ASCII).
Website // Apache License, Version 2.0 or MIT license // Written in Rust
insect
insect is a high precision scientific calculator with full support for physical units.
Website // MIT License // Written in PureScript
Taskwarrior
Taskwarrior manages your TODO list from the command line. It is flexible, fast, and unobtrusive.
Website // MIT License // Written in C++
yt-dlp
yt-dlp is software that lets you easily download videos and audio from more than a thousand websites.
Website // The Unlicense // Written in Python
NcFTP
NcFTP is a set of programs implementing the File Transfer Protocol (FTP).
Website // MIT License // Written in C
SVGO
SVG Optimizer is a Node.js-based tool for optimizing SVG vector graphics files.
Website // MIT License // Written in JavaScript
Watson
Watson is a tool to track your time. You want to know how much time you are spending on your projects? You want to generate a nice report for your client? Watson is here for you.
Website // MIT License // Written in Python
dog
dog is a command-line DNS client. It has colourful output, understands normal command-line argument syntax, supports the DNS-over-TLS and DNS-over-HTTPS protocols, and can emit JSON.
Website // European Union Public License 1.2 // Written in Rust
Fail2ban
Fail2ban is an intrusion prevention software framework which is designed to prevent against brute-force attacks.
Website // GNU General Public License v2.0 // Written in Python
Pgcli
Pgcli is a command line interface for Postgres with auto-completion and syntax highlighting.
Website // BSD 3-Clause “New” or “Revised” License // Written in Python
fd
fd is a program to find entries in your filesystem. It’s a simple, fast and user-friendly alternative to find.
Website // MIT License and Apache License 2.0 // Written in Rust
Toot
Toot is a command-line interface and terminal user interface tool for interacting with Mastodon instances.
Website // GNU General Public License v3.0 // Written in Python
POV-Ray
Persistence of Vision Raytracer (POV-Ray) is a high-quality tool for creating stunning three-dimensional graphics.
Website // GNU Affero General Public License v3.0 // Written in C++
fdupes
fdupes is software for identifying or deleting duplicate files residing within specified directories. It compares file sizes, partial MD5 signatures, full MD5 signatures, and then performs a byte-by-byte comparison for verification.
Website // MIT License // Written in C
croc
croc is a tool that allows any two computers to simply and securely transfer files and folders. End-to-end encryption (using PAKE) is provided.
Website // MIT License // Written in Go
Himalaya
Himalaya is a tool based on the himalaya-lib that allows you to manipulate your emails using commands in your console.
Website // MIT License // Written in Rust
gnuplot
gnuplot is a command-line and GUI program that can generate two- and three-dimensional plots of functions, data, and data fits.
Website // Open Source // Written in C
NetHogs
NetHogs is a small ‘net top’ tool. Instead of breaking the traffic down per protocol or per subnet, like most tools do, it groups bandwidth by process.
Website // GNU General Public License v2.0 // Written in C++
f3
f3 is a set of 5 utilities that detect and repair counterfeit flash storage. It achieves this by testing the media’s capacity and performance. It tests the real size and compares it to what the drive says.
Website // GNU General Public License v3.0 // Written in C
Glow
Glow is a machine learning compiler and execution engine for hardware accelerators. It is designed to be used as a backend for high-level machine learning frameworks. The compiler is designed to allow state of the art compiler optimizations and code generation of neural network graphs.
Website // Apache License 2.0 // Written in C++
entr
entr is a tool for running arbitrary commands when files change. It was written to make rapid feedback and automated testing natural and completely ordinary.
Website // ISC-style License // Written in C
Gifsicle
Gifsicle manipulates GIF image files. Depending on command line options, it can merge several GIFs into a GIF animation; explode an animation into its component frames; change individual frames in an animation; turn interlacing on and off; add transparency; add delays, disposals, and looping to animations; add and remove comments; flip and rotate; optimize animations for space; change images’ colormaps; and other things.
Website // GNU General Public License v2.0 // Written in C
Cookiecutter
Cookiecutter is a useful utility that creates projects from cookiecutters (project templates), e.g. creating a Python package project from a Python package project template.
Website // BSD 3-Clause “New” or “Revised” License // Written in Python
APT
Advanced package tool (APT) is a user interface that works with core libraries to handle the installation and removal of software on Debian, and Debian-based Linux distributions. It provides command-line tools for searching, managing and querying information about packages, as well as low-level access to all features provided by the libapt-pkg and libapt-inst libraries which higher-level package managers can depend upon.
APT is included only as an example of a package manager. You’ll need to use a suitable package manager for the distro you’re running.
Website // GNU General Public License v2.0 // Written in C++
abcde
abcde lets you grab an entire CD and compress it to Ogg/Vorbis, MP3, FLAC, AAC, Ogg/Speex and/or MPP/MP+(Musepack) format.
abcde can also grab a CD and turn it into a single FLAC file with an embedded cuesheet which can be user later on as a source for other formats.
Website // GNU General Public License v2.0 // Written in Bash
jq
jq is like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.
Website // MIT License // Written in C
ExifTool
ExifTool is a customizable set of Perl modules plus a full-featured command-line application for reading and writing meta information in a wide variety of files, including the maker note information of many digital cameras by various manufacturers such as Canon, Casio, DJI, FLIR, FujiFilm, GE, HP, JVC/Victor, Kodak, Leaf, Minolta/Konica-Minolta, Nikon, Nintendo, Olympus/Epson, Panasonic/Leica, Pentax/Asahi, Phase One, Reconyx, Ricoh, Samsung, Sanyo, Sigma/Foveon and Sony.
Website // Artistic License 1.0 or GNU General Public License version 1 // Written in Perl
jrnl
jrnl is a simple journal application for the command line.
You can use it to easily create, search, and view journal entries. Journals are stored as human-readable plain text, and can also be encrypted using AES encryption.
Website // GNU General Public License v3.0 // Written in Python
progress
progress is a neat tool to show progress for cp, mv, dd, … (formerly known as cv).
Website // GNU General Public License v3.0 // Written in C
hyperfine
hyperfine is an easy to use tool for benchmarking. The output is easily readable and understandable. All benchmark runs are performed sequentially.
Website // MIT License or Apache License 2.0 // Written in Rust
hledger
hledger is a lightweight, multi-currency, double-entry accounting software. It lets you track money, investments, cryptocurrencies, invoices, time, inventory and more, in a safe, future-proof plain text data format with full version control and privacy.
Website // GNU General Public License v3.0 // Written in Haskell
s
s is a web search utility which runs from the terminal. Just opens in your browser.
Website // MIT License // Written in Go
SpamAssassin
SpamAssassin is an anti-spam platform giving system administrators a filter to classify email and block spam (unsolicited bulk email). It uses a robust scoring framework and plug-ins to integrate a wide range of advanced heuristic and statistical analysis tests on email headers and body text including text analysis, Bayesian filtering, DNS blocklists, and collaborative filtering databases.
Website // Apache License v2.0 // Written in C
Jupyter Console
Jupyter Console is a terminal-based console frontend for Jupyter kernels.
Website // BSD 3-Clause “New” or “Revised” License // Written in Python
gh
gh is an interface to GitHub for use in your terminal or your scripts.
Website // MIT License // Written in Go
difftastic
difftastic is a structural diff tool that compares files based on their syntax.
Website // MIT License // Written in Rust
Miller
Miller is like awk, sed, cut, join, and sort for data formats such as CSV, TSV, JSON, JSON Lines, and positionally-indexed.
Website // BSD License v2.0 // Written in Go
Chafa
Chafa is a utility that converts image data, including animated GIFs, into graphics formats or ANSI/Unicode character art suitable for display in a terminal. It has broad feature support, allowing it to be used on devices ranging from historical teleprinters to modern terminal emulators and everything in between.
Website // GNU Lesser General Public License v3.0 // Written in C
DocToc
DocToc generates table of contents for markdown files inside local git repository. Links are compatible with anchors generated by github or other sites via a command line flag.
Website // MIT License // Written in JavaScript
transfer.sh
transfer.sh offers easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.
Website // MIT License // Written in Go
buku
buku is a powerful bookmark manager and a personal textual mini-web.
Website // GNU General Public License v3.0 // Written in Python
usql
usql is a universal command-line interface for PostgreSQL, MySQL, Oracle Database, SQLite3, Microsoft SQL Server, and many other databases including NoSQL and non-relational databases.
Website // MIT License // Written in Go
All of them are open source?
Yes, every single one in this compilation is open source software.
Thanks Luke for pulling this compilation together. There are quite a few of these CLI tools I’ve never even heard before.
Great list! discover a lot of good app!
[pyRadio] is amazing, as long as you don’t feel the need to use radio browser in terminal too…
Just open Pyradio, press ‘a’ to add – then open firefox at radio-browser’s search and copy your details across…
This way it beats Tuner (which finds, but doesn’t display details as nicely), also Shortwave (which doesn’t get all stations searched).
I agree, pyRadio is amazing software. But it’s better described as TUI rather than CLI, hence it doesn’t appear in this article.
Given that it’s awesome, it does appear in my TUI roundup.
I can’t find how to install pyradio for LinuxMint. 🙁
If there isn’t a package for Linux Mint, compile the software. On a fresh installation of Mint, do the following:
1) Install git, pip
$ sudo apt install git pip
2) Use pip to install the python-dateutil and rich packages
$ pip install python-dateutil rich
3) Clone the project’s GitHub repository:
$ git clone https://github.com/coderholic/pyradio.git
4) Change into the newly created directory
$ cd pyradio
5) Build the software and install PyRadio to ~/.local/bin/
$ devel/build_install_pyradio
You can either add ~/.local/bin to your PATH or copy the file to a directory already in your PATH.
Your system will also need mpv, mplayer, or vlc installed.
Why isn’t pyRadio CLI? It’s started from the command-line.
The difference between a CLI, TUI, and GUI is not how they are started. CLI, TUI & GUI apps can all be started from the command-line.
The difference is that GUI Linux apps need X or Wayland, whereas CLI and TUI apps don’t. CLI and TUI apps run in the console or a terminal emulator.
A CLI interface uses the basic terminal/console functionality of writing and perhaps reading lines, or even simply accepting flags and running non-interactively. A TUI uses the terminal’s advanced features, using the terminal as the basis for a type of GUI.
Some apps offer CLI, TUI and a GUI.
this and the TUI list are my dreams come true, ive been building the same lists, but you beat me to it… congrats and good work
you’ll rue the day
Why will I rue the day?
My favorite from that list is perhaps tldr.