By the end
What you'll build
- Explain what a shell does and read any command as program, options and arguments
- Navigate a filesystem using absolute paths, relative paths and the . .. ~ shortcuts
- Create, copy, move and delete files safely, including the checks that prevent a bad recursive delete
- Read and search large log files with cat, head, tail, less and a live tail -f
- Locate files by name, age and size with find, and search inside them with grep and basic regular expressions
- Redirect stdout and stderr, read an exit code, and build multi-stage pipelines with wc, sort, uniq and cut
- Read an ls -l permission line and set permissions with both the numeric and the symbolic form of chmod
- Diagnose a busy or full machine using ps, kill, df, du and free, and pack directories with tar
- Set environment variables, explain how PATH finds a program, and describe how ssh key pairs authenticate
- Write and schedule a shell script with a shebang, arguments, guard clauses and deliberate exit codes
Curriculum
What's inside
7 modules · 48 lessons
- 01
Meet the shell
6 lessons- Start here: what this course is, and what it is not
- What a shell is, and why typing beats clicking
- Anatomy of a command: program, options, arguments
- Drill: your first commands — pwd, ls and cdcli builder
- Helping yourself: --help, man pages and reading a synopsis
- + 1 more lesson
- 02
The tree, and how to say where you are
6 lessons- One root, many branches: the filesystem tree
- Absolute and relative paths
- Three shortcuts you will type all day: `.`, `..` and `~`
- Drill: move around the treecli builder
- Practice: which path lands where?fill blank
- + 1 more lesson
- 03
Make it, move it, remove it
6 lessons- Making things: mkdir and touch
- Drill: build the project skeletoncli builder
- Copy and move: cp, mv, and the trailing-slash trap
- Drill: copy and move preciselycli builder
- rm, rmdir, and the real danger of `-rf`
- + 1 more lesson
- 04
Read files, find things
7 lessons- Four ways to read a file: cat, head, tail and less
- Watching a log as it happens: tail -f
- Drill: read a log four wayscli builder
- find: locating files by name, age and size
- Drill: find the filecli builder
- + 2 more lessons
- 05
Streams, pipes and shaping data
7 lessons- Where output goes: stdout, stderr and the exit code
- Redirection: sending output where you want it
- Drill: send output where you want itcli builder
- The pipe: one program's output becomes another's input
- The shaping toolkit: wc, sort, uniq and cut
- + 2 more lessons
- 06
Permissions, privilege and processes
8 lessons- Users, groups, and reading an `ls -l` line
- chmod in numbers: 4, 2, 1
- chmod in letters: u, g, o and +/-
- Drill: set permissions properlycli builder
- Least privilege: why 777 is not a fix, and sudo is not a habit
- + 3 more lessons
- 07
Housekeeping, remote work and your first script
8 lessons- When the disk fills up: df, du, free — and tar
- Environment variables and PATH
- Working on a machine that is not yours: ssh and key pairs
- cron: work that happens without you
- Drill: disk, archives, PATH, ssh and croncli builder
- + 3 more lessons
The shape of it
How this course works
Short lessons
48 lessons across 7 modules, each small enough to finish in one sitting.
Practice as you go
Every lesson ends with a small space for what you noticed — the doing is the learning.
A certificate at the end
Finish the course and earn a certificate anyone can verify with a link.
Ready when you are.
Make an account and this course opens up — your progress is saved from the very first lesson.
