◆ Revisiting: a beginner's CLI tour, four years on ◆
Back in 2022 I wrote a small Medium piece called Making yourself at home with an introduction to Command Line Interface. It was coursework. The framing was: think of the shell like a house you just bought - you can't be comfortable in it until you know how to walk around. The core four commands were pwd, cd, ls, mkdir, plus a small set of inspection verbs (cat, head, tail, grep, wc).
Four years later, none of that has changed. Those are still the right first commands. What has changed is everything that sits next to them.
What I would teach instead today
The classic verbs first, same order. Then, instead of suffering through pure POSIX longer than necessary, hand the beginner the modern toolbox:
| classic | modern replacement | why |
|---|---|---|
grep | ripgrep (rg) | faster, sane defaults, gitignore-aware |
find | fd | shorter, friendlier syntax |
cat for code | bat | syntax highlighting, line numbers |
ls | eza | colours + git status in one column |
| ad-hoc search | fzf | fuzzy finder for files, history, branches, kill |
| JSON parsing | jq | the missing primitive in classic Unix |
None of these are required. All of them shorten the moment-to-mastery curve dramatically. The 2022 post implicitly assumed someone had to learn the painful path first. They don't.
What still holds
The single most important point from the old article is the one I would underline again: the shell becomes useful when you combine commands, not when you learn one more. The pipeline is the whole thing.
head -n 1 data.csv # peek at the header
wc -l data.csv # row count
shuf data.csv | head -n 5 # sample five rows
rg ',2020,' data.csv | wc -l # rows from 2020
Same shape as four years ago, just with rg instead of grep. Small composable verbs, glued with pipes, no GUI. That part of Unix has outlived an awful lot of tooling fashions, and it's going to outlive a few more.
If you're sitting in front of a terminal for the first time today, the four commands haven't changed. The shape of the work hasn't changed. The friction has.