Linux
Learn Linux from the shell up. Files, processes, networking, systemd, scripting, and running real services.
17 lessons, in order
- 120 min
The Shell and First Commands
Welcome. If you have never used a terminal before, you are in the right place. A terminal is a window where you talk to your computer by typing...
TerminalShellPromptFirst commandsMan pages - 225 min
Filesystem and Navigation
In the last lesson you ran a handful of commands and read their output, but you never moved anywhere. Every command you typed happened in the same...
Filesystem treeLsCdHidden filesAbsolute vs relative paths - 330 min
Files and Permissions
You can now find your way around the filesystem, but so far you have only looked at files that were already there. Real work means creating files,...
TouchCatCpMvRmMkdir+4 - 430 min
Text Tools: grep, sed, awk
Almost everything on a Linux system is text. Configuration files are text. Logs are text. The list of every user on the machine is a text file....
GrepSedAwkHeadTailWc+2 - 525 min
Pipes and Redirection
In the last lesson you built small pipelines with | almost in passing, sending the output of one text tool into another. It is time to slow down and...
PipesStdoutStderrStdinRedirectionTee - 630 min
Processes and Signals
Type a command and press Enter, and something has to actually be running to carry it out. That something is a process, the operating system's word...
PsTopHtopKillSignalsForeground+3 - 725 min
Users and Groups
Every command you have run so far, you ran as one particular account without ever being asked who you were. But Linux was built from day one to be...
WhoamiIdSudo/etc/passwdUseraddAdduser+2 - 825 min
Package Management
Someone tells you to "just install htop". On Windows or a Mac you would go find a website, download an installer, click through it, and hope you got...
AptDpkgApt searchApt showDnfPacman - 930 min
Networking Basics
"The site is down." You open it and it works fine from your laptop but not from the server. Somewhere between the two machines, something is wrong,...
Ip aIp routePortsSsCurlWget+4 - 1035 min
Shell Scripting
You have worked out a sequence of six commands that does something useful: check a directory, make a folder, copy some files, print a summary. It...
ShebangVariablesIfForWhileCommand substitution+2 - 1135 min
systemd Services
You wrote a script that works. You run it, it does its job, and then you close your terminal and it dies with the session. You want it to start when...
SystemctlUnit filesEnableStartStopStatus+1 - 1230 min
SSH and Remote Access
The machine you actually need is somewhere else. It is a server in a data centre, a virtual machine in a cloud, a build box under someone's desk. You...
SshSsh-keygenAuthorized_keysSsh-copy-idScpSsh config - 1325 min
Logs and Journals
A service that was working yesterday is not working now. Nobody changed anything, or so everybody says. You can stare at configuration files for an...
/var/logSyslogJournaldJournalctlLog rotation - 1430 min
Disks and Storage
"No space left on device." The service stops writing, the database refuses connections, and everything downstream falls over, all because some...
DfDuLsblkPartitionsFilesystemsMount+2 - 1525 min
Cron and Scheduled Tasks
You wrote a backup script and it works beautifully, right up until the evening you forget to run it. Almost everything a server does routinely is...
CrontabCron fields@daily@reboot/etc/cron.dailySystemd timers - 1630 min
Performance and Monitoring
Someone messages you: "the server feels slow." That is all you get. Slow could be a runaway process, memory exhaustion, a disk that cannot keep up,...
UptimeLoad averageFreeVmstatIostatHtop+1 - 1760 min
Capstone: Server Setup
Everything so far has been one idea at a time. Real work is never one idea at a time. Somebody hands you a bare Ubuntu machine and says "get the site...
Sudo userSsh keysNginxSystemd timerBackupsJournalctl
Learn Linux in your language
Every lesson, quiz, and tutor reply renders in your language. The AI tutor matches the language you ask in.
Roles that use Linux
See how hiring teams interview engineers on Linux, in production-like environments.
DevOps Engineer
Hire DevOps engineers who actually ship. Run live or take-home interviews in production-like Linux environments with Docker, Kubernetes, Terraform and CI/CD. See how they debug, automate, and work alongside AI.
See the interviewSite Reliability Engineer (SRE)
Hire SREs who actually run production. Live workspaces with metrics, logs, traces and a service that is starting to misbehave. We record every keystroke.
See the interviewInfrastructure Engineer
Hire infrastructure engineers who design systems your team can rely on. Interview them in real workspaces with Terraform, Ansible, cloud APIs and live failure scenarios.
See the interview