New: Roadmaps ordered paths through our cheat sheets and flashcards, so you always know what to study next.
Explore themSee what's new on GitHubFrom typing your first shell commands to administering a full Linux server end to end.
A 19-step learning path. Follow it in order, or jump to what you need.
This path is for anyone who wants real command-line fluency: developers tired of googling flags, career switchers heading toward sysadmin or support roles, or hobbyists running their first home server. Plan on about 10 weeks at a few hours a week. It stays inside the terminal and skips Docker, Kubernetes, CI/CD, and cloud platforms, that's the DevOps Engineer path's territory once you're comfortable here. By the end you can navigate and script any Linux box from a bare shell, diagnose a stuck or resource-hungry process, and lock down a server's users, firewall, and services for production.
No prior experience needed. Start from zero.
You can open a terminal today and immediately move around, view files, and chain commands with pipes, before anything else on this path assumes you can.
Now that you can move around, learn where things actually live: config in /etc, logs in /var, binaries on your PATH, so a 'command not found' stops being a mystery.
This is where the permission model finally clicks: once chmod's octal math stops feeling arbitrary, every 'permission denied' becomes a two-second fix, though it's normal to come back and recheck this a few times.
You can move around any Linux box, tell files apart, and read a permission string without guessing. Next up: making the shell talk your language.
Finish this section to unlock.
+100 XP
A command that works today and vanishes tomorrow is almost always a PATH or .bashrc problem, and this step is what lets you fix that instead of just restarting your terminal and hoping.
Once you know where config lives, the next skill is finding anything else on disk in seconds with find and its filters, instead of scrolling through ls by hand.
This is the second click moment on this path: once regex stops looking like line noise, grep, sed, and awk turn any text file into data you can filter and reshape, and it's normal to reread this one more than once before it sticks.
Chain what grep, sed, and find just taught you into a script that runs itself on a schedule, turning a five-minute manual chore into a one-time five-minute build.
grep, sed, and a short bash script now do the repetitive parts for you, and a few minutes of due flashcards keeps chapter one's commands sharp while you build on them. Next up: keeping a real system healthy while it runs.
Finish this section to unlock.
+100 XP
A frozen terminal or a runaway process is no longer a reason to reboot: you can see what's running, read its state, and send it the right signal instead of always reaching for kill -9.
Every process and permission you've touched so far traces back to a UID, so this step is where you start creating and managing the accounts and sudo rules behind them yourself.
Installing software stops being a copy-pasted command you don't understand once you know how apt, dnf, or pacman actually resolve dependencies and where they pull packages from.
The processes you learned to inspect two steps back are mostly started and supervised by systemd, so this is how you make a service survive a crash or a reboot instead of dying with your shell.
A full disk or a failed mount is now something you diagnose with df, lsblk, and fstab, rather than a mystery that ends with a support ticket.
Reach for this if you're heading toward managing real servers: LVM lets you resize a volume while it's still mounted, going deeper than the plain partitioning step 12 covered.
You can find what's eating CPU, add a user safely, install what a service needs, and keep that service alive across a reboot. Next up: opening the box up to the network without leaving it exposed.
Finish this section to unlock.
+100 XP
Whatever storage and services you've built so far are useless if you can't reach them, so this is how you read an interface, a route, and a socket with ip and ss.
The networking you just learned is how you reach a server; SSH is how you reach it securely, log in without a password, and tunnel a port through a bastion host.
An SSH port open to the whole internet is a liability, so this step is where you write the firewall rules that decide what's allowed to reach your services at all.
Take this if you're heading toward hardened production systems: SELinux and AppArmor stop a compromised service from touching files or ports even after the firewall rules from step 16 let its traffic through.
Pick this up if you want a faster daily driver: Oh My Zsh layers autocompletion, themes, and plugins on top of the shell configuration you set up back in step 4.
Every piece from user accounts to firewall rules finally comes together here as one sysadmin workflow you can run start to finish on a real box, from first login to hardened service.
From your first ls to hardening a server's firewall and users, you can set up, secure, and administer a real Linux box end to end: that's the Linux & the Command Line badge, earned.
Finish this section to unlock.
+100 XP
Finish every required step, at least 70% of them genuinely done (not skipped), to earn this badge and 500 XP.