The Linux commands I reach for every single day
You don't need to memorise a thousand commands. You need a small, sharp set you actually understand. Here's the toolkit that covers most real situations.
The terminal feels hostile until a handful of commands become muscle memory — then it feels like a superpower. You don't need to know everything. You need a small set you genuinely understand and can combine.
Finding things
- grep — search inside files for text. The single most useful command for “where is this string?”
- find — locate files by name, size, or age across a tree.
- tail -f — watch a log file update live. You'll use this every time something's on fire.
Understanding what's happening
- ps and top / htop — what's running and what's eating your CPU and memory.
- df -h and du -sh — where did all my disk go? (Always the answer to a mysterious outage.)
- curl — make an HTTP request from the terminal to test an endpoint without a browser.
Not getting locked out
- chmod / chown — fix the permissions error you'll inevitably hit.
- ssh — get onto the remote machine in the first place.
- | (the pipe) — the real magic: send one command's output into another. grep something out of a log and count it in one line.
Mastery on the command line isn't memorising commands — it's combining a few well-understood ones with a pipe.
Learn these properly, lean on the pipe, and you'll handle the vast majority of day-to-day server work without reaching for Google.