Linux

Almost every cloud server, container and Kubernetes node runs Linux. This is the part of the stack I reach for when something breaks: reading logs, finding what filled a disk, working out why a service won't start.

Linux for the cloud

Hands-on in a Docker container on your own laptop, so nothing to install and nothing to pay for. Each lesson teaches one part of Linux, then breaks it on purpose so you see the real error and fix it, and ends with a card of the commands worth keeping. The last lessons put it together: a troubleshooting method with six broken servers, then a real server set up and locked down, ready for AWS.

  1. 1What Linux is, and why the cloud runs on itStart · 20 min
  2. 2The shell: moving around the file systemStart · 30 min
  3. 3Reading and searching filesComing soon
  4. 4Working with text: awk, sed and pipesComing soon
  5. 5Permissions and usersComing soon
  6. 6Processes and signalsComing soon
  7. 7Services and logs with systemdComing soon
  8. 8Installing softwareComing soon
  9. 9Networking from the shellComing soon
  10. 10Disks, storage and memoryComing soon
  11. 11SSH and keysComing soon
  12. 12Shell scripts and cron, done properlyComing soon
  13. 13Troubleshooting: a method and six broken serversComing soon
  14. 14A real server: set it up and lock it downComing soon

Linux command reference, by task

What to run when you need to do something: find what filled the disk, see why a service won't start, who is using a port. With what the output means and the macOS version when it differs.

ReferenceComing soon

Linux troubleshooting checklist

Symptom, where to look, what to run. The page to open during an incident.

ReferenceComing soon

The Linux Command Line (opens in a new tab)

A free book by William Shotts that starts from zero and goes a long way.

Free

explainshell (opens in a new tab)

Paste a command and see what every part of it does.

Free

tldr pages (opens in a new tab)

Short, practical examples for common commands, instead of the full manual.

Free