List directory contents. Shows files and folders in the current or specified directory.
Change current working directory. Navigate to any path on the filesystem.
Concatenate and print file contents to standard output.
Search plain-text data sets for lines matching a regular expression pattern.
Create new directories. Supports creating nested directory hierarchies.
Remove files or directories. Use with caution — deletions are permanent.
Copy files and directories to a new location.
Move or rename files and directories.
Change file access permissions using numeric or symbolic notation.
Transfer data from or to a server using various protocols.
Secure shell — connect to remote servers over encrypted connections.
Distributed version control system. Track changes, collaborate, and manage code history.
Node.js package manager. Install dependencies, run scripts, and manage projects.
Initialize a Model Context Protocol server to expose local tools and data to AI agents.
Stream editor for filtering and transforming text line-by-line using patterns and substitution rules.
Pattern-scanning and text-processing language. Works with columnar data, splitting lines into fields.
Recursively search for files and directories matching criteria like name, type, size, or modification time.
Build and execute commands from standard input. Converts piped data into arguments for another command.
Archive and compress files and directories. The standard tool for creating and extracting .tar.gz bundles.
Homebrew — the macOS package manager. Install, update, and manage command-line tools and applications.
Python package installer. Install, upgrade, and manage Python libraries and tools.
Container platform for building, shipping, and running applications in isolated environments.
Define and run multi-container applications with a YAML configuration file.
Download files from the web via HTTP, HTTPS, and FTP. Supports recursive downloads.
Display the first lines of a file. Defaults to 10 lines.
Display the last lines of a file. Use -f to follow real-time updates (great for logs).
Word, line, character, and byte count for files or piped input.
Sort lines of text alphabetically, numerically, or by custom keys.
Report or filter out repeated lines. Usually paired with sort since it only detects adjacent duplicates.
Remove sections from each line of files. Extract columns from delimited data.
Read from stdin and write to both stdout and files simultaneously. Useful for logging pipeline output.
Translate, squeeze, or delete characters from stdin. Useful for case conversion and cleanup.
Compare files line by line and show differences. Foundation of git diff and patch workflows.
Display directory structure as an indented tree. Great for visualizing project layout.
Locate a command's executable by searching PATH. Shows which version will run when you type a command.
Display or modify the environment. Without arguments, prints all environment variables.
Set environment variables for the current shell session and its child processes.
Create shorthand names for commands. Define in ~/.zshrc to make permanent.
Report a snapshot of currently running processes.
Send signals to processes. Default signal is TERM (graceful shutdown).
List open files and the processes using them. Essential for finding what's using a port.
Display real-time system resource usage — CPU, memory, and running processes.
Estimate file and directory disk usage. Find what's consuming space.
Report filesystem disk space usage. Shows free and used space on mounted volumes.
Create links between files. Symbolic links (symlinks) are like shortcuts or aliases.
Change file owner and group. Often needed when fixing permission issues.
Fast, versatile file copying tool. Syncs files locally or to/from remote servers with delta transfers.
Securely copy files between local and remote hosts over SSH.
Test network connectivity to a host by sending ICMP packets.
Query DNS records for a domain. Find IP addresses, mail servers, and other DNS information.
Execute npm package binaries without installing globally. Runs the latest version of a CLI tool.
Node Version Manager — install and switch between multiple Node.js versions.
Build automation tool using Makefile rules. Common in C/C++ projects but useful for any task automation.
Schedule commands to run at specified times. Edit schedule with crontab -e.
Display the manual page for a command. The built-in documentation system for Unix commands.
Display or manipulate the command history list. Use ! to re-run previous commands.
macOS-specific: copy stdin to the system clipboard. Pair with pbpaste to retrieve.
Command-line JSON processor. Parse, filter, and transform JSON data.