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.
| Command | Tags/Category | Description |
|---|---|---|
alsamixer | tuis, audio, sound, hardware, configuration, utilities | A TUI-based sound card mixer for ALSA. Provides detailed control over volume levels, inputs, and outputs in the terminal. |
apropos | help, discovery, documentation | Searches 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. |
badblocks | disks, drives, storage, diagnostics, maintenance, utilities | A utility to scan a storage device for bad sectors. It’s a destructive-read/write test, so it’s best used on unmounted partitions. |
bluetoothctl | bluetooth, pairing, system, devices, audio, hardware, configuration | The interactive command-line shell for managing Bluetooth devices. Use it to scan for, pair with, and connect to peripherals like headphones or mice. |
brightnessctl | hardware, display, brightness, configuration | A simple command-line tool to read and control device brightness. Ideal for scripting backlight adjustments on laptops or monitors. |
cd | aliases, navigation, paths, directories | A “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. |
cfind | functions, help, discovery, software, apps, cli | An 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. |
chattr | files, permissions, security, utilities | Changes file attributes on a Linux filesystem. Can be used to make files immutable (even for root), preventing accidental deletion or modification. |
checkupdates | packages, updates, arch | A script included with Arch Linux that safely checks for available package updates from official repositories without running a full system upgrade. |
copyfile | plugins, copy, clipboard, files | Copies the entire content of a specified file to the system clipboard. (From a Zsh plugin) |
cryptsetup | encryption, disks, partitions, security | The command-line tool for managing LUKS encrypted partitions. Used to open (map), close, format, and resize encrypted volumes. |
dig | networks, dns, diagnostics, utilities | A command-line tool for querying DNS servers. Provides more detailed information than host or nslookup. |
distrobox | containers, podman, docker, virtualization | Creates 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. |
dmidecode | hardware, diagnostics, firmware, bios, utilities | Dumps 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. |
downgrade | packages, arch, maintenance, utilities | An Arch Linux script to downgrade one or more packages to a version in your local cache or from the Arch Linux Archive. |
duf | tuis, disks, drives, partitions, storage, mounts, utilities | A user-friendly disk usage/free utility that presents information in a clean, colorized, and easy-to-read table. |
dysk | disks, drives, storage | Display a customizable table of disks. |
efibootmgr | firmware, boot, uefi, configuration, maintenance, utilities | A command-line tool for managing UEFI boot entries. Used to view, create, delete, and change the boot order. |
ethtool | networks, hardware, diagnostics, drivers, utilities | A utility for querying and controlling network driver and hardware settings, such as link speed and duplex mode on an ethernet device. |
fastfile | files, paths, plugins | Creates an alias to a path. (From a Zsh plugin) |
fastfile_ls | files, paths, plugins | Lists path aliases created with fastfile. |
find | files, search, paths, system, utilities | A 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. |
flatpak | packages, install, apps | A package manager for sandboxed applications from repositories like Flathub. Lets you install apps that work across different Linux distributions. |
g | aliases, programming, source-control, development, version-control | The primary alias for git. |
ga | aliases, programming, source-control, development, version-control | Adds file contents to the git index. An alias for git add. |
gb | aliases, programming, source-control, development, version-control | Lists, creates, or deletes git branches. An alias for git branch. |
gc | aliases, programming, source-control, development, version-control | Records changes to the git repository. An alias for git commit --verbose. |
gco | aliases, programming, source-control, development, version-control | Switches git branches or restores working tree files. An alias for git checkout. |
gd | aliases, programming, source-control, development, version-control | Shows changes between git commits, commit and working tree, etc. An alias for git diff. |
ghostmirror | packages, system, utilities | Creates 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.) |
ghostty | terminal | Starts the Ghostty terminal emulator if run bare, or with sub-commands runs actions that are helpful in configuring the emulator. |
git | programming, source-control, development, version-control | A source control app |
gl | aliases, programming, source-control, development, version-control | Fetches from and integrates with another git repository or a local branch. An alias for git pull. |
glances | tuis, monitoring, performance, processes, hardware, diagnostics, utilities | A system monitoring tool providing a comprehensive, all-in-one view of system resources. |
gp | aliases, programming, source-control, development, version-control | Updates remote git refs along with associated objects. An alias for git push. |
gpristine | aliases, programming, source-control, development, version-control | Destructive. 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. |
gst | aliases, programming, source-control, development, version-control | Shows the git working tree status. An alias for git status. |
help | aliases, help, cli | An alias for loki’s loki -e command writer. |
hwinfo | hardware, listings, diagnostics, utilities | A comprehensive hardware detection tool that can report on nearly every component in the system in great detail. |
install | aliases, packages, install, aur, arch | Alias for paru. Safely installs packages without running a full system upgrade. |
inxi | hardware, listings, diagnostics, reports, utilities | A 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. |
iwctl | networks, wifi, wireless, configuration, utilities | The interactive command-line client for iwd, a modern wireless daemon for Linux. Used to scan for and connect to Wi-Fi networks. |
jq | json, processors, parsers, pipes, filters, scripting, data-transformations, utilities | A 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-cli | kde, phones, devices, transfers, pairing | A 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. |
keyd | keyboard, macros, input, system, utilities, configuration, hardware | A 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. |
lazygit | tuis, version-control, development, programming, source-control | An interactive terminal UI for git that simplifies common workflows. Provides a fast, visual way to manage commits, branches, and diffs without memorizing complex commands. |
locate | files, search, paths, system, utilities | Finds 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). |
loki | llms, ai, cli, help | CLI for interacting with local LLMs. Can be used for chat or to ask for help constructing shell commands. |
lsblk | disks, drives, partitions, storage, block-devices, mounts, filesystems, hardware, listings, system, utilities | Lists block devices like hard drives and partitions. Shows a tree-like view of storage devices, their mount points, and sizes. |
lscpu | cpus, processors, hardware, listings, system, utilities | Displays detailed information about the CPU architecture, including number of cores, threads, cache sizes, and model name. |
lsmod | modules, drivers, kernel, listings, diagnostics, system, utilities | Lists all currently loaded Linux kernel modules. Used for checking which drivers are active and troubleshooting hardware support issues. |
lsof | files, processes, sockets, ports, networks, listings, diagnostics, debugging, system, utilities | Lists 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. |
lspci | pci, devices, peripherals, hardware, listings, diagnostics, gpu, system, utilities | Lists all PCI devices and buses. Crucial for identifying graphics cards, network adapters, and other internal hardware components. |
lsusb | usb, devices, peripherals, hardware, listings, diagnostics, system, utilities | Lists all USB devices currently connected to the system. Essential for identifying hardware, checking vendor/product IDs, and troubleshooting peripherals. |
mise | versions, environments, runtimes, dev-envs, programming, development | A 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. |
mkfs | filesystems, formatting, partitions, disks, utilities | A family of commands (e.g., mkfs.ext4, mkfs.btrfs) used to create a new filesystem on a storage device or partition, effectively formatting it. |
navi | discovery, software, apps, help | An interactive cheat sheet for CLI apps. |
nc | networks, diagnostics, utilities | Functions 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>). |
nmcli | networks, configuration, wifi, ethernet, connections, utilities | The primary command-line interface for NetworkManager. Essential for managing and scripting all aspects of network connections from the terminal. |
nmtui | tuis, networks, configuration, wifi, ethernet, connections, utilities | A simple and intuitive TUI for NetworkManager. Provides an easy, curse-based interface for managing network connections. |
ollama | llms, ai, apis | A 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. |
paccache | packages, maintenance, arch, cache, utilities | A 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. |
pacdiff | configuration, maintenance, arch, utilities | A script to manage .pacnew, .pacsave, and .pacorig files. It provides an interactive prompt to view, merge, or delete configuration file updates. |
pactree | packages, dependencies, arch | Shows the dependency tree of a given package. Extremely useful for understanding why a package is installed or for finding reverse dependencies. |
pastel | colors, graphics, art | Color generation and manipulation. |
pcls | aliases, containers, docker, virtualization, dev-envs, development | Lists all running Podman containers. An alias for podman container ls. |
pclsa | aliases, containers, docker, virtualization, dev-envs, development | Lists all Podman containers, including stopped ones. An alias for podman container ls --all. |
pils | aliases, containers, docker, virtualization, dev-envs, development | Lists all local Podman container images. An alias for podman image ls. |
plocate | files, search, paths | A much faster reimplementation of locate. It creates an index of all files on the system and uses it to provide instantaneous search results. |
podman | containers, docker, virtualization, dev-envs, development | A 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. |
powerprofilesctl | power, performance, laptops, configuration, utilities | A command-line tool to query and control the system’s power profile (e.g., balanced, power-saver, performance). |
pr | aliases, containers, docker, virtualization, dev-envs, development | Runs a command in a new Podman container. An alias for podman container run. |
prit | aliases, containers, docker, virtualization, dev-envs, development | Runs a command in a new Podman container in interactive TTY mode. An alias for podman container run --interactive --tty. |
prm | aliases, containers, docker, virtualization, dev-envs, development | Removes one or more stopped Podman containers. An alias for podman container rm. |
pro | functions, paths, navigation | Navigates to the projects directory. Add arguments to specify a directory to change to within projects. |
pstp | aliases, containers, docker, virtualization, dev-envs, development | Stops one or more running Podman containers. An alias for podman container stop. |
pv | pipes, monitoring, progress, transfers | Pipe Viewer. A terminal utility for monitoring the progress of data through a pipe. Invaluable for long-running commands like dd or tar. |
pxcit | aliases, containers, docker, virtualization, dev-envs, development | Executes a command inside a running Podman container in interactive TTY mode. An alias for podman container exec --interactive --tty. |
reflector | networks, packages, arch, maintenance | A script that can test the latest Arch Linux mirrors, filter them by speed and country, and overwrite your mirrorlist file. |
rsync | files, backup, transfer, synchronization | A 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-kernel | functions, system, configuration, kernel | Allows for easy toggling of the default kernel between LTS and the standard Arch kernel. |
smartctl | disks, drives, storage, health, diagnostics, maintenance, utilities | The command-line utility for controlling and monitoring S.M.A.R.T. data on hard drives and SSDs. Essential for checking drive health. |
startproject | functions, development, programming | Leverages mise to bootstrap a new app or script using the chosen platform. Keeps me from having to remember how to start a new project. |
timeshift | backup, snapshots, restore, maintenance | A system restore utility that takes snapshots of the filesystem. It can use rsync or native BTRFS snapshots on the backend. |
tldr | help, docs, cheatsheet | Simplified, example-driven man pages. |
topgrade | updates, maintenance, packages | A tool that finds all the package managers you use and runs their respective update commands. A single command to upgrade everything. |
typst | typesetting, documents, compilers | A compiler for creating scientific and technical documents using Typst’s markup language. |
ufw | firewalls, security, networks, configuration | A 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. |
uninstall | functions, packages, install, aur, arch, maintenance | Recursively 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. |
update | aliases, updates, maintenance, packages | Upgrades all system packages using a variety of package managers. An alias for topgrade. |
updatedb | files, search, maintenance | The command used to create or update the database for locate and plocate. Run this periodically to ensure search results are current. |
v | aliases, tuis, editors, text, programming, development | Starts the LazyVim Neovim configuration. An alias for lazyvim, which is a script that runs nvim with the NVIM_APPNAME env var set for lazyvim. |
wget | networks, downloads, files, transfers, internet | A non-interactive command-line tool for downloading files from the web. It supports HTTP, HTTPS, and FTP protocols and can handle recursive downloads. |
whatis | help, discovery, documentation | Displays a very brief, one-line description of a command from its man page. |
which-command | aliases, shell, paths, discovery | Shows the source of a command, indicating if it’s an alias, function, or binary. An alias for Zsh’s powerful whence built-in. |
wine | windows, compatibility, applications, apps, virtualization, gaming | A compatibility layer that allows you to run Windows applications on Linux. Used for everything from games to productivity software. |
wl-copy | clipboard, pipes, system, utilities | Copies data from standard input to the Wayland clipboard. The modern equivalent of xclip for Wayland systems. Often used by piping data into it. |
wl-paste | clipboard, pipes, system, utilities | Pastes data from the Wayland clipboard to standard output. The modern equivalent of xclip for Wayland systems. Output can be redirected or piped. |
wpctl | audio, pipewire, hardware, configuration, diagnostics, utilities | The command-line control and introspection tool for PipeWire. Used to inspect, select, and configure audio and video devices. |
xrandr | display, monitors, resolution, configuration, x11 | A command-line tool for configuring screen resolution, rotation, and multi-monitor setups in X11. Essential for display scripting. |
zoxide | navigation, paths, directories, shell, productivity | A “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. |