Linux Commands
87 commands drawn from the glossary. Click any name for the full definition, usage and chapter references.
| /etc/passwd | The file listing user accounts and their basic attributes |
| Alias | A shell shortcut that expands to a longer command |
| apt | The high-level package manager for Debian and Ubuntu |
| awk | A pattern-scanning and processing language for structured text |
| bash | The GNU Bourne Again Shell, the default shell of most Linux distributions |
| cat | Concatenate files to standard output |
| cd | Change the current working directory |
| chmod | Change the permissions of files and directories |
| chown | Change the owner and group of a file or directory |
| cp | Copy files and directories |
| curl | A command-line tool for transferring data with URLs |
| cut | Extract sections (fields or characters) from each line of input |
| dig | DNS lookup utility (domain information groper) |
| dmesg | Command and ring buffer holding kernel log messages |
| dnf | The modern high-level package manager for Fedora and RHEL |
| Docker | The container platform that popularised the technology |
| dpkg | The low-level Debian package manager |
| echo | Print arguments to standard output |
| Emacs | A highly extensible, self-documenting text editor |
| env | Run a command with a modified environment, or print the environment |
| export | Mark a shell variable for export to child processes |
| fg | Bring a background job to the foreground |
| find | Search for files in a directory tree by name, type, size, time, or other criteria |
| fish | The friendly interactive shell, optimised for usability out of the box |
| Flatpak | A cross-distribution packaging format for Linux desktop applications |
| free | Display free and used memory |
| gcc | The GNU Compiler Collection: a C/C++/Fortran/Ada compiler suite |
| Git | The distributed version control system that underlies most modern software development |
| grep | A tool for searching text using patterns |
| head | Print the first N lines of input |
| host | Simple DNS lookup utility |
| htop | An interactive process viewer, more user-friendly than top |
| ifconfig | Legacy network interface configuration tool |
| iostat | Report CPU and block device I/O statistics |
| ip | Modern tool for configuring network interfaces, addresses, and routes |
| iptables | The classic Linux firewall command, configuring kernel packet filtering |
| journalctl | The command-line interface to systemd's binary journal logs |
| kill | Send a signal to a process |
| killall | Kill processes by name instead of PID |
| less | An interactive pager for viewing text files one screen at a time |
| locate | Find files by name using a prebuilt database |
| ls | List files and directories |
| make | Build-automation tool driven by a Makefile |
| more | Legacy pager: one screen at a time |
| mount | The operation (and command) that attaches a filesystem to a directory in the tree |
| mv | Move or rename files and directories |
| nano | A friendly, modeless text editor for the terminal |
| netstat | Legacy tool for showing network connections, routes, and statistics |
| nice | A value that biases CPU scheduling priority of a process |
| nohup | Run a command immune to hangups |
| nslookup | Interactive DNS lookup tool, now largely superseded |
| pacman | The package manager of Arch Linux |
| passwd | Change a user's password |
| ping | Send ICMP echo requests to test network reachability |
| Podman | A daemonless, rootless container engine developed by Red Hat |
| ps | Report a snapshot of current processes |
| pwd | Print the current working directory |
| rm | Remove files and directories |
| rpm | The RPM Package Manager, used by Red Hat, Fedora, and SUSE |
| rsync | Fast, incremental file-transfer and synchronisation tool |
| scp | Copy files between hosts over SSH |
| sed | A stream editor for text transformation |
| Snap | A cross-distribution packaging format developed by Canonical |
| sort | Sort lines of text |
| ss | Socket statistics; a modern replacement for netstat |
| SSH | The Secure Shell protocol for authenticated, encrypted remote access |
| ssh | Secure shell, encrypted remote login and command execution |
| stat | Display detailed information about a file |
| sudo | Run a command as another user, typically root, after authentication |
| systemctl | The command-line client for controlling systemd |
| tail | Print the last N lines of input, optionally following a file as it grows |
| tee | A command that reads stdin and writes it to both stdout and one or more files |
| top | Dynamic real-time view of running processes and system resource usage |
| tr | Translate or delete characters |
| traceroute | Display the route packets take to reach a host |
| umask | A bitmask that removes default permissions from newly created files |
| uniq | Filter out or count adjacent duplicate lines |
| uptime | Show how long the system has been running and the load average |
| useradd | Low-level command for creating user accounts |
| vi | The classic Unix visual editor, ancestor of Vim |
| Vim | Vi IMproved, the dominant terminal text editor on Linux |
| vim | The Vi IMproved modal text editor |
| vmstat | Report virtual memory, CPU, and I/O statistics at a chosen interval |
| wc | Word, line, character, and byte counter |
| wget | A command-line tool for downloading files over HTTP, HTTPS, and FTP |
| xargs | Build and execute command lines from stdin |
| zsh | A powerful interactive shell with extensive customisation and plug-in ecosystem |