I have trouble remembering which CLI apps are available to me, so this list is meant to catalog what I have and describe what they are for. The table will be consumed by a shell function that makes them easily searchable from the command line. All data outside the table is ignored by the script.

CommandTags/CategoryDescription
alsamixertuis, audio, sound, hardware, configuration, utilitiesA TUI-based sound card mixer for ALSA. Provides detailed control over volume levels, inputs, and outputs in the terminal.
aproposhelp, discovery, documentationSearches the names and descriptions of man pages for a keyword. Useful for finding a command when you only know what it does, not what it’s called.
badblocksdisks, drives, storage, diagnostics, maintenance, utilitiesA utility to scan a storage device for bad sectors. It’s a destructive-read/write test, so it’s best used on unmounted partitions.
bluetoothctlbluetooth, pairing, system, devices, audio, hardware, configurationThe interactive command-line shell for managing Bluetooth devices. Use it to scan for, pair with, and connect to peripherals like headphones or mice.
brightnessctlhardware, display, brightness, configurationA simple command-line tool to read and control device brightness. Ideal for scripting backlight adjustments on laptops or monitors.
cdaliases, navigation, paths, directoriesA “smarter cd command”. This is an alias for zoxide, which remembers your most frequently used directories and allows you to jump to them with just a few characters.
cfindfunctions, help, discovery, software, apps, cliAn interactive CLI command finder which can be invoked via command or by its current binding of Ctrl+Space. Searches through commands listed in a file in my knowledgebase.
chattrfiles, permissions, security, utilitiesChanges file attributes on a Linux filesystem. Can be used to make files immutable (even for root), preventing accidental deletion or modification.
checkupdatespackages, updates, archA script included with Arch Linux that safely checks for available package updates from official repositories without running a full system upgrade.
copyfileplugins, copy, clipboard, filesCopies the entire content of a specified file to the system clipboard. (From a Zsh plugin)
cryptsetupencryption, disks, partitions, securityThe command-line tool for managing LUKS encrypted partitions. Used to open (map), close, format, and resize encrypted volumes.
dignetworks, dns, diagnostics, utilitiesA command-line tool for querying DNS servers. Provides more detailed information than host or nslookup.
distroboxcontainers, podman, docker, virtualizationCreates tightly integrated containerized Linux environments using podman or docker. Allows you to run apps from any distro (e.g., Ubuntu on Arch) as if they were native.
dmidecodehardware, diagnostics, firmware, bios, utilitiesDumps a computer’s DMI (or SMBIOS) table contents in a human-readable format. Excellent for getting detailed hardware information like serial numbers or exact motherboard models.
downgradepackages, arch, maintenance, utilitiesAn Arch Linux script to downgrade one or more packages to a version in your local cache or from the Arch Linux Archive.
duftuis, disks, drives, partitions, storage, mounts, utilitiesA user-friendly disk usage/free utility that presents information in a clean, colorized, and easy-to-read table.
dyskdisks, drives, storageDisplay a customizable table of disks.
efibootmgrfirmware, boot, uefi, configuration, maintenance, utilitiesA command-line tool for managing UEFI boot entries. Used to view, create, delete, and change the boot order.
ethtoolnetworks, hardware, diagnostics, drivers, utilitiesA utility for querying and controlling network driver and hardware settings, such as link speed and duplex mode on an ethernet device.
fastfilefiles, paths, pluginsCreates an alias to a path. (From a Zsh plugin)
fastfile_lsfiles, paths, pluginsLists path aliases created with fastfile.
findfiles, search, paths, system, utilitiesA powerful utility to recursively search for files based on complex criteria (name, size, type, date, etc.). Unlike locate, it searches the filesystem in real-time, making it slower but more flexible. Can also execute commands on found items.
flatpakpackages, install, appsA package manager for sandboxed applications from repositories like Flathub. Lets you install apps that work across different Linux distributions.
galiases, programming, source-control, development, version-controlThe primary alias for git.
gaaliases, programming, source-control, development, version-controlAdds file contents to the git index. An alias for git add.
gbaliases, programming, source-control, development, version-controlLists, creates, or deletes git branches. An alias for git branch.
gcaliases, programming, source-control, development, version-controlRecords changes to the git repository. An alias for git commit --verbose.
gcoaliases, programming, source-control, development, version-controlSwitches git branches or restores working tree files. An alias for git checkout.
gdaliases, programming, source-control, development, version-controlShows changes between git commits, commit and working tree, etc. An alias for git diff.
ghostmirrorpackages, system, utilitiesCreates a mirrorlist for pacman by checking speeds of the list in the mirrorlist file. Can also build a new mirrorlist given a country name. (Currently configured to run on a systemd userspace timer.)
ghosttyterminalStarts the Ghostty terminal emulator if run bare, or with sub-commands runs actions that are helpful in configuring the emulator.
gitprogramming, source-control, development, version-controlA source control app
glaliases, programming, source-control, development, version-controlFetches from and integrates with another git repository or a local branch. An alias for git pull.
glancestuis, monitoring, performance, processes, hardware, diagnostics, utilitiesA system monitoring tool providing a comprehensive, all-in-one view of system resources.
gpaliases, programming, source-control, development, version-controlUpdates remote git refs along with associated objects. An alias for git push.
gpristinealiases, programming, source-control, development, version-controlDestructive. Discards all local changes to a git project, including untracked files, to restore a pristine working directory. An alias for git reset --hard && git clean --force -dfx.
gstaliases, programming, source-control, development, version-controlShows the git working tree status. An alias for git status.
helpaliases, help, cliAn alias for loki’s loki -e command writer.
hwinfohardware, listings, diagnostics, utilitiesA comprehensive hardware detection tool that can report on nearly every component in the system in great detail.
installaliases, packages, install, aur, archAlias for paru. Safely installs packages without running a full system upgrade.
inxihardware, listings, diagnostics, reports, utilitiesA powerful command-line system information script. It can generate highly detailed and readable reports about all aspects of a system’s hardware and software configuration.
iwctlnetworks, wifi, wireless, configuration, utilitiesThe interactive command-line client for iwd, a modern wireless daemon for Linux. Used to scan for and connect to Wi-Fi networks.
jqjson, processors, parsers, pipes, filters, scripting, data-transformations, utilitiesA command-line JSON processor, often described as ‘sed for JSON’. Essential for parsing, filtering, and transforming structured data from APIs or configuration files. Also used for pretty-printing.
kdeconnect-clikde, phones, devices, transfers, pairingA command-line tool to interact with KDE Connect. Allows for scripting actions like sending files, sharing the clipboard, or finding your phone from the terminal.
keydkeyboard, macros, input, system, utilities, configuration, hardwareA powerful key remapping daemon, independent of X11 or Wayland. Used to create complex custom layouts, layers (like on QMK keyboards), and macros through simple config files.
lazygittuis, version-control, development, programming, source-controlAn interactive terminal UI for git that simplifies common workflows. Provides a fast, visual way to manage commits, branches, and diffs without memorizing complex commands.
locatefiles, search, paths, system, utilitiesFinds files and directories by instantly searching a pre-built system database. It is an extremely fast alternative to find for name-based searches, but relies on its database being current (updated with updatedb).
lokillms, ai, cli, helpCLI for interacting with local LLMs. Can be used for chat or to ask for help constructing shell commands.
lsblkdisks, drives, partitions, storage, block-devices, mounts, filesystems, hardware, listings, system, utilitiesLists block devices like hard drives and partitions. Shows a tree-like view of storage devices, their mount points, and sizes.
lscpucpus, processors, hardware, listings, system, utilitiesDisplays detailed information about the CPU architecture, including number of cores, threads, cache sizes, and model name.
lsmodmodules, drivers, kernel, listings, diagnostics, system, utilitiesLists all currently loaded Linux kernel modules. Used for checking which drivers are active and troubleshooting hardware support issues.
lsoffiles, processes, sockets, ports, networks, listings, diagnostics, debugging, system, utilitiesLists open files and the processes that opened them. An incredibly powerful diagnostic tool for figuring out which process is using a specific file, port, or socket.
lspcipci, devices, peripherals, hardware, listings, diagnostics, gpu, system, utilitiesLists all PCI devices and buses. Crucial for identifying graphics cards, network adapters, and other internal hardware components.
lsusbusb, devices, peripherals, hardware, listings, diagnostics, system, utilitiesLists all USB devices currently connected to the system. Essential for identifying hardware, checking vendor/product IDs, and troubleshooting peripherals.
miseversions, environments, runtimes, dev-envs, programming, developmentA fast, polyglot tool version manager that replaces tools like asdf and direnv. It manages project-specific runtimes (Node, Python, etc.) and environment variables from a single configuration file.
mkfsfilesystems, formatting, partitions, disks, utilitiesA family of commands (e.g., mkfs.ext4, mkfs.btrfs) used to create a new filesystem on a storage device or partition, effectively formatting it.
navidiscovery, software, apps, helpAn interactive cheat sheet for CLI apps.
ncnetworks, diagnostics, utilitiesFunctions as a “Swiss Army knife” for network testing, port scanning, file transfers, and creating network tunnels. Essential for verifying port accessibility (nc -zv your.ip <port>).
nmclinetworks, configuration, wifi, ethernet, connections, utilitiesThe primary command-line interface for NetworkManager. Essential for managing and scripting all aspects of network connections from the terminal.
nmtuituis, networks, configuration, wifi, ethernet, connections, utilitiesA simple and intuitive TUI for NetworkManager. Provides an easy, curse-based interface for managing network connections.
ollamallms, ai, apisA tool for running and serving large language models (like Llama 2, Mistral) on your local machine. It provides a simple CLI to pull, run, and chat with models, and exposes a REST API for other applications to use.
paccachepackages, maintenance, arch, cache, utilitiesA script from the pacman-contrib package used to clean the pacman package cache, for example by keeping only the last 3 versions of each package.
pacdiffconfiguration, maintenance, arch, utilitiesA script to manage .pacnew, .pacsave, and .pacorig files. It provides an interactive prompt to view, merge, or delete configuration file updates.
pactreepackages, dependencies, archShows the dependency tree of a given package. Extremely useful for understanding why a package is installed or for finding reverse dependencies.
pastelcolors, graphics, artColor generation and manipulation.
pclsaliases, containers, docker, virtualization, dev-envs, developmentLists all running Podman containers. An alias for podman container ls.
pclsaaliases, containers, docker, virtualization, dev-envs, developmentLists all Podman containers, including stopped ones. An alias for podman container ls --all.
pilsaliases, containers, docker, virtualization, dev-envs, developmentLists all local Podman container images. An alias for podman image ls.
plocatefiles, search, pathsA much faster reimplementation of locate. It creates an index of all files on the system and uses it to provide instantaneous search results.
podmancontainers, docker, virtualization, dev-envs, developmentA daemonless container engine for running OCI containers, images, and pods. Often used as a direct replacement for the Docker daemon, offering a compatible command-line interface without a central service.
powerprofilesctlpower, performance, laptops, configuration, utilitiesA command-line tool to query and control the system’s power profile (e.g., balanced, power-saver, performance).
praliases, containers, docker, virtualization, dev-envs, developmentRuns a command in a new Podman container. An alias for podman container run.
pritaliases, containers, docker, virtualization, dev-envs, developmentRuns a command in a new Podman container in interactive TTY mode. An alias for podman container run --interactive --tty.
prmaliases, containers, docker, virtualization, dev-envs, developmentRemoves one or more stopped Podman containers. An alias for podman container rm.
profunctions, paths, navigationNavigates to the projects directory. Add arguments to specify a directory to change to within projects.
pstpaliases, containers, docker, virtualization, dev-envs, developmentStops one or more running Podman containers. An alias for podman container stop.
pvpipes, monitoring, progress, transfersPipe Viewer. A terminal utility for monitoring the progress of data through a pipe. Invaluable for long-running commands like dd or tar.
pxcitaliases, containers, docker, virtualization, dev-envs, developmentExecutes a command inside a running Podman container in interactive TTY mode. An alias for podman container exec --interactive --tty.
reflectornetworks, packages, arch, maintenanceA script that can test the latest Arch Linux mirrors, filter them by speed and country, and overwrite your mirrorlist file.
rsyncfiles, backup, transfer, synchronizationA utility for synchronizing files and directories, both locally and remotely over the network. It is extremely efficient for backups and mirroring because it uses a delta-transfer algorithm to copy only the differences between source and destination.
set-default-kernelfunctions, system, configuration, kernelAllows for easy toggling of the default kernel between LTS and the standard Arch kernel.
smartctldisks, drives, storage, health, diagnostics, maintenance, utilitiesThe command-line utility for controlling and monitoring S.M.A.R.T. data on hard drives and SSDs. Essential for checking drive health.
startprojectfunctions, development, programmingLeverages mise to bootstrap a new app or script using the chosen platform. Keeps me from having to remember how to start a new project.
timeshiftbackup, snapshots, restore, maintenanceA system restore utility that takes snapshots of the filesystem. It can use rsync or native BTRFS snapshots on the backend.
tldrhelp, docs, cheatsheetSimplified, example-driven man pages.
topgradeupdates, maintenance, packagesA tool that finds all the package managers you use and runs their respective update commands. A single command to upgrade everything.
typsttypesetting, documents, compilersA compiler for creating scientific and technical documents using Typst’s markup language.
ufwfirewalls, security, networks, configurationA user-friendly command-line interface for managing a netfilter firewall. It provides a simple way to configure iptables by allowing or denying traffic on specific ports or from certain sources.
uninstallfunctions, packages, install, aur, arch, maintenanceRecursively removes a package, its unneeded dependencies, and its configuration files. Will uninstall a package by a command name in the package if you don’t know the package name.
updatealiases, updates, maintenance, packagesUpgrades all system packages using a variety of package managers. An alias for topgrade.
updatedbfiles, search, maintenanceThe command used to create or update the database for locate and plocate. Run this periodically to ensure search results are current.
valiases, tuis, editors, text, programming, developmentStarts the LazyVim Neovim configuration. An alias for lazyvim, which is a script that runs nvim with the NVIM_APPNAME env var set for lazyvim.
wgetnetworks, downloads, files, transfers, internetA non-interactive command-line tool for downloading files from the web. It supports HTTP, HTTPS, and FTP protocols and can handle recursive downloads.
whatishelp, discovery, documentationDisplays a very brief, one-line description of a command from its man page.
which-commandaliases, shell, paths, discoveryShows the source of a command, indicating if it’s an alias, function, or binary. An alias for Zsh’s powerful whence built-in.
winewindows, compatibility, applications, apps, virtualization, gamingA compatibility layer that allows you to run Windows applications on Linux. Used for everything from games to productivity software.
wl-copyclipboard, pipes, system, utilitiesCopies data from standard input to the Wayland clipboard. The modern equivalent of xclip for Wayland systems. Often used by piping data into it.
wl-pasteclipboard, pipes, system, utilitiesPastes data from the Wayland clipboard to standard output. The modern equivalent of xclip for Wayland systems. Output can be redirected or piped.
wpctlaudio, pipewire, hardware, configuration, diagnostics, utilitiesThe command-line control and introspection tool for PipeWire. Used to inspect, select, and configure audio and video devices.
xrandrdisplay, monitors, resolution, configuration, x11A command-line tool for configuring screen resolution, rotation, and multi-monitor setups in X11. Essential for display scripting.
zoxidenavigation, paths, directories, shell, productivityA “smarter cd command” that remembers your most frequently used directories. Allows you to jump to a directory with just a few characters of its name.