Day 5 — Terminal: Not As Scary As It Looks
Time: ~45 min · Date: Wed Apr 29
Why this matters
The Terminal is just another way to talk to your computer. Instead of clicking icons, you type commands. It looks intimidating because hackers in movies use it. But the same way email replaced fax, command lines didn't go away — programmers just kept using them because they're faster.
You won't be a power user. You'll know enough to:
- Run the bootstrap script
- Update Claude Code occasionally
- Copy-paste commands from the guides without panic
- Recognize what a command is doing if it goes sideways
That's it. We're aiming for "literate," not "fluent."
The 30-second mental model
A terminal shows you a prompt — a small bit of text that means "I'm waiting for you to type something." Like this:
debbie@MacBook ~ %
Translation: "Hi, I'm Debbie's MacBook. You're currently sitting in your home folder (~). Type a command."
You type, press Return, the computer does the thing, and you're back at the prompt waiting for the next command.
Anatomy of a command
ls -la ~/Documents
Three parts:
ls— the command name. ("List.") This one shows files.-la— flags. Modify the command's behavior. (-l= long format,-a= include hidden.)~/Documents— argument. What the command operates on. ("List the files inside ~/Documents.")
Most commands follow this pattern: command [flags] [arguments].
The basics you'll actually use
| Command | What it does | Example |
|---|---|---|
pwd | Print working directory ("where am I?") | pwd |
ls | List files in current directory | ls |
ls -la | List with hidden files and details | ls -la |
cd <folder> | Change directory | cd Documents |
cd ~ | Go to your home folder | cd ~ |
cd .. | Go up one folder | cd .. |
mkdir <name> | Make a new directory | mkdir notes |
cp <a> <b> | Copy file a to b | cp file.txt backup.txt |
mv <a> <b> | Move/rename file | mv old.txt new.txt |
rm <file> | Delete a file (no recycle bin!) | rm file.txt |
cat <file> | Show contents of a file | cat README.md |
clear | Clear the screen | clear |
exit | Close the terminal | exit |
⚠️ rm is permanent. No recycle bin. There's no "are you sure?" prompt either. Be careful — but mostly, just don't run rm until you're comfortable. The bootstrap script doesn't ask you to.
Important concepts in 60 seconds
Paths
Where a file is on disk.
- Absolute path: starts with
/— full address from root./Users/debbie/Documents/notes.md - Relative path: starts where you currently are. If you're in
~/Documents, thennotes.mdand./notes.mdare the same file. ~is shorthand for your home folder..means "current folder."..means "parent folder."
Variables
Sometimes you'll see $SOMETHING in commands. That's a variable. The shell replaces it with whatever value it holds. You'll see things like $HOME (which is /Users/debbie) or $OBSIDIAN_VAULT (which we set up to point at your vault).
Pipes
The | character takes the output of one command and feeds it as input to the next. You don't need to write these — but you'll see them in guides.
ls | grep "listing"
Translates to: "list files, then filter for ones containing 'listing'."
Permissions
Sometimes you'll see sudo at the start of a command. It means "do this with admin privileges; ask for my password." Like running an installer as administrator on Windows. Bootstrap won't make you sudo for anything sensitive — just for the Homebrew install, which is normal.
Reading a command before running it
Before you paste any command from any guide (mine included), eyeball it.
✅ Safe to run:
lscd ~/projectsgit pullnpm install
🟡 Worth pausing to read:
- Anything starting with
sudo - Anything containing
rm - Anything piping into
bashdirectly (curl ... | bash) — usually fine if from a trusted source like the official Homebrew installer
🔴 Don't run, ever:
rm -rf /orrm -rf ~- Anything you got from a sketchy source
- Anything that says "you'll never believe what this does"
Exercise (~25 min)
You don't have the Mac yet, but you can practice on Windows in PowerShell. Most basic commands work the same or have close cousins.
- Open PowerShell (Start menu → type "powershell" → enter).
- Try each:
pwd— should show your current folderls(PowerShell aliases this to dir)cd Documentspwdagain — different folder now?cd ..cd ~clear
- Notice: PowerShell uses
\separators while Mac/Linux use/. Otherwise, similar concepts.
Bonus: open the Notepad equivalent and try writing a one-line markdown file:
# My first command-line file
Save it as test.md somewhere. Now in PowerShell, cd to that folder and run cat test.md (or type test.md). You just used a command line to read a file you made. That's the loop.
Recap
You should now be able to:
- Open a terminal and read its prompt
- Move around with
cd,cd ..,cd ~ - List files with
ls - Explain what
~,., and..mean - Spot a command that needs caution (
rm,sudo)
Going deeper (optional, ~30 min)
Watch (~15 min)
- Search YouTube: "macOS terminal for beginners" — pick a 10–15 min intro. NetworkChuck has accessible terminal content if you want to like the topic, not just survive it.
Read (~15 min)
- Apple's official zsh / Terminal user guide — skim. Don't try to learn it all.
- The Missing Semester — Course Shell — MIT's free intro to the command line. Read just the first lecture page.
Try (if you have extra time)
In PowerShell on your PC, navigate to a folder you actually use and ls it. Make a folder called from-the-terminal and put one empty text file inside. You created something with words instead of clicks. That's the whole magic trick.
Done?
- Day 5 complete