COURSE
Learning path
Work through the modules in order. Start with the two complete beginner courses below. The later modules are a roadmap for further study, with available guides linked.
Start with the command-line or desktop course below, then keep progressing through the learning path.
On this page
Start a complete course
35 Linux commands
Guided examples, a practice folder and exercises for command-line beginners.
Linux desktop course
Files, applications, settings, updates and a tested backup habit.
Module 1 – Linux desktop and the shell
- Choosing a distribution to learn on (Ubuntu, Fedora, Debian) and installing it in a virtual machine
- Bash essentials
- The filesystem
- Editing files with nano and vim; reading documentation with
manand--help
Module 2 – Users, permissions and processes
- Users, groups and permissions
- sudo and the principle of least privilege
- Processes, signals,
systemctland journald
Module 3 – Networking and remote access
- IP addressing, DNS and
ip,ss,dig - SSH from zero
- Firewalls with nftables and ufw
Module 4 – Packages, storage and backups
- apt and dnf, repositories and pinning
- Disks, partitions, LVM and filesystems
- Backups with rsync and restic, and testing restores
Module 5 – Server roles
- Web server (nginx, Apache) and TLS with Let's Encrypt
- DNS server basics
- Mail: Postfix and Dovecot, SPF/DKIM/DMARC
- File sharing with Samba; proxies and reverse proxies
Module 6 – Monitoring, security and automation
- Monitoring with Nagios-style checks and modern alternatives
- Hardening checklists and fail2ban
- Bash scripting for automation; an introduction to Ansible
Module 7 – Virtualisation and containers
- KVM and virt-manager
- Docker and Podman basics