🐧 Learn Linux — Engineering Reference

A deep-dive, code-first Linux curriculum for mid-level developers moving to senior roles. Each document is structured around annotated production code blocks, anti-pattern examples, edge cases, and tips — not hand-holding prose.

How to Use This Course

  1. Read sequentially for a structured path (01 → 19).
  2. Jump to a chapter as a reference when you hit a concept in production.
  3. Run the examples — a Linux VM or WSL is your lab.
  4. Break things in a VM, fix them, repeat.

Prerequisites

  • A Linux installation (bare metal, VM, or WSL2 on Windows).
  • A terminal emulator (GNOME Terminal, Konsole, Alacritty, kitty).
  • Comfort with basic command-line operations.

Curriculum

Part I — Foundations

#TopicWhy It Matters
01Introduction & ArchitectureKernel vs userspace, syscall mechanics, FHS, virtual filesystems.
02The Shell & Command LineRedirection order, pipeline concurrency, exit codes, job control.
03Filesystem Hierarchy/proc//sys, inodes, mounts, fstab, hard links vs symlinks.
04Files, Directories & PermissionsSpecial bits, ACLs, capabilities, umask, setgid directories.
05Text Processing & Pipelinesgrep, sed, awk, sort/uniq, xargs -0, pipeline gotchas.

Part II — System Core

#TopicWhy It Matters
06Processes & Jobsfork/exec/wait, signals, D-state, zombies, nice/ionice.
07Users, Groups & AuthenticationUID/GID model, PAM, sudo, SSH keys, NSS, -aG footgun.
08Package Managementapt/dnf/pacman/apk, dependency resolution, partial upgrades.
09Storage & FilesystemsPartitions, LVM, RAID, fsck, SMART, dd, XFS vs ext4.
10Networking Fundamentalsip, routing, DNS, ss, curl, SSH tunnels, rsync, firewalls.

Part III — Administration

#TopicWhy It Matters
11systemd & ServicesUnits, drop-ins, daemon-reload, timers, resource limits, journalctl.
12Logging & Monitoringjournald persistence, logrotate, sar, atop, dmesg.
13Kernel & Modulessysctl, modprobe, DKMS, initramfs, udev, /proc//sys.
14Security & HardeningUFW/firewalld, SELinux/AppArmor, fail2ban, auditd, capabilities.
15Performance & Tuningvmstat, iostat, perf, OOM killer, swappiness, cgroups, BBR.

Part IV — Production

#TopicWhy It Matters
16Boot Process & RunlevelsGRUB, initramfs, systemd boot, targets, rescue mode, password reset.
17Containers & NamespacesNamespaces, cgroups, Docker/Podman, multi-stage builds, rootless.
18Troubleshooting & Recoverystrace, lsof, REISUB, chroot, boot recovery, fsck.
19Exercises & Projects8 projects from a hardened web server to a capstone cluster.

Learning Path Suggestions

If you're a developer deploying to Linux

Read 08 (package management), 10 (networking — ports, firewall), 11 (systemd — running your app as a service), 14 (security — UFW, SSH keys), 17 (containers). Do exercise 4 (hardened web server).

If you're an aspiring sysadmin

Read 09 (storage, LVM), 11 (systemd), 12 (logging), 13 (kernel), 15 (performance), 16 (boot), 18 (troubleshooting). Do exercises 5–7 (monitoring, backup, cluster). Bookmark 18 — you'll need it at 3 AM.

If you're preparing for LPIC/RHCSA

Read 03–12 (filesystem, permissions, processes, users, packages, storage, networking, systemd, logging). Then 13–16 (kernel, security, performance, boot). Do all exercises in 19.

Companion Resources

Tooling

bash
# Essential packages (Debian/Ubuntu):
sudo apt update && sudo apt install -y \
    htop iotop iftop tmux tree jq strace ltrace \
    net-tools dnsutils curl wget git vim

# Essential packages (RHEL/Fedora):
sudo dnf install -y htop iotop tmux tree jq strace \
    net-tools bind-utils curl wget git vim