Every sysadmin builds the same muscle memory eventually — but when you're new, mid-incident, or just switching between distros, a fast reference beats digging through man pages. This is that reference: the commands that come up on a real machine, day in and day out, organized by the task in front of you rather than alphabetically. Nothing exotic, nothing padded.
Navigating and finding things
| Command | What it does |
pwd | Print the current working directory |
ls -lah | List all files, human-readable sizes, long format |
cd - | Jump back to the previous directory |
find . -name "*.log" | Find files by name under the current tree |
grep -rn "TODO" . | Recursively search file contents, with line numbers |
locate nginx.conf | Find a file fast via the prebuilt index |
tree -L 2 | Show the directory structure two levels deep |
Working with files
| Command | What it does |
cp -r src/ dst/ | Copy a directory and its contents |
mv old new | Move or rename a file or directory |
rm -rf dir/ | Delete a directory and everything in it (careful) |
tail -f app.log | Stream new lines of a file as they're written |
head -n 50 file | Show the first 50 lines |
less file | Page through a file (q to quit, / to search) |
wc -l file | Count lines in a file |
diff a b | Show line-by-line differences between two files |
Permissions and ownership
| Command | What it does |
chmod 644 file | Owner read/write, everyone else read-only |
chmod +x script.sh | Make a file executable |
chown user:group file | Change a file's owner and group |
umask | Show the default permission mask for new files |
sudo !! | Re-run the last command with sudo |
Permissions read as owner / group / others. chmod 750 means owner full (7), group read+execute (5), others nothing (0). Once that clicks, the numbers stop being mysterious.
Processes and system state
| Command | What it does |
top / htop | Live view of CPU, memory, and processes |
ps aux | grep node | Find a running process by name |
kill -9 PID | Force-terminate a process by its ID |
df -h | Disk space used and free, human-readable |
du -sh * | Size of each item in the current directory |
free -h | Memory usage at a glance |
uptime | How long the box has been up, plus load average |
systemctl status nginx | Check whether a service is running |
journalctl -u nginx -f | Follow a service's logs live |
Networking
| Command | What it does |
ip a | Show network interfaces and IP addresses |
ping -c 4 host | Send four pings to test reachability |
ss -tulpn | List listening ports and the processes behind them |
curl -I https://site | Fetch just the HTTP response headers |
dig example.com | Query DNS records for a domain |
scp file user@host:/path | Copy a file to a remote machine over SSH |
Packages and updates
| Command | What it does |
apt update && apt upgrade | Refresh and install updates (Debian/Ubuntu) |
apt install pkg | Install a package |
dnf install pkg | Install a package (Fedora/RHEL) |
which python3 | Show the full path of a command |
man command | Open the manual for any command |
Want this as a clean, printable one-pager?
The full Ultimate Linux Command Cheat Sheet is a single, print-ready page built for a second monitor — every command above plus flags, pipes, and redirects, laid out so you never break flow hunting for syntax. Instant download, one-time $3.
Get the printable cheat sheet — $3 →
How to actually remember these
Don't memorize the list — use it. Pick the five commands you reach for most this week and pin them somewhere visible. The rest stick through repetition. Grouping by task (the way this page is laid out) beats alphabetical order because your brain searches by intent: "I need to see what's using this port," not "I need a command starting with s."
The other trick is flags. ls is fine; ls -lah is the version you'll actually want every time. The printable sheet leans into that — it shows the useful flag combinations, not just the bare commands, which is the difference between a reference you glance at and one you outgrow in a week.