Terminal Tutor
Module 06 · Learning outcomes

What you leave with.

The honest version. Twelve concrete skills, six mental models, an explicit "not yet" list, and a single transfer test that tells you if any of it stuck.

Twelve skills

Each of these is something you should be able to do, on your own machine, without looking it up. Closed-book, fingers on keys.

01
Open the terminal

On your own OS, in under three seconds, from a cold start.

02
Identify your shell

Know whether you're running zsh, bash, or PowerShell — and roughly what family it belongs to.

03
Confirm where you are

Use pwd as a reflex after every cd.

04
List directory contents

ls, with the -l and -a flags as needed.

05
Navigate with relative and absolute paths

cd .., cd ~, cd /some/path, all comfortable.

06
Create files and folders

mkdir and touch, with confidence.

07
Read file contents

cat for short files. less or more when curious.

08
Write to files

echo "..." > file to overwrite, >> to append.

09
Copy, move, rename, delete

cp, mv, rm. Know that rm is permanent.

10
Chain commands

Use && to run-on-success and | to pipe output into another tool like grep.

11
Read an error

Identify the command, the kind of error, and (often) which layer produced it.

12
Ask for help

Use --help, man, or search to unblock yourself.

Six mental models

Skills decay. Mental models stick around. If we lose the commands but keep these, you'll re-learn faster than you think.

The four layers.

You → Terminal (window) → Shell (reads, interprets) → Kernel (does the work) → Hardware (the metal). Every command travels this path. When something breaks, ask which layer is at fault.

The shell is a program.

bash, zsh, and PowerShell are pieces of software someone wrote. They have versions. They have bugs. They're not mystical. You can replace them.

The filesystem is a single tree.

One root. Every file has a path from it. The terminal and the GUI look at the same tree from different angles.

Commands have a shape.

Verb · adverbs · nouns. Command · flags · arguments. Once you see the shape, every new command becomes pattern-matching, not memorization.

Output is a stream.

Commands produce text. You can send that text into a file (>), or into another command (|). Small tools, glued together, do big work.

Errors are signs on doors.

Read them literally. They almost always say exactly what couldn't happen. They aren't punishments.

Not yet

What this course does not teach. Saying it out loud matters: false confidence is more dangerous than ignorance.

You should not leave this course knowing:

The transfer test

A single honest question. If a student can do this without looking anything up, they've learned what we set out to teach.

Two weeks from now, sit down at a different computer.

It's a Linux machine you've never used before. You're asked to: open a terminal, find a file called report.txt somewhere in your home directory, read its contents to a colleague over the phone, then delete a folder called old-stuff on the Desktop.

If you can do this — possibly slowly, possibly using --help once or twice — the course worked. If you freeze because the prompt is green instead of black, or because the shell says "bash" instead of "zsh," the course didn't fully land and that's worth knowing.