Linux for Developers
Files, users, permissions, processes, services, logs, SSH and web servers, with a plain explanation of what every command actually does.
Lessons in order
- 01Beginner 12 min
Linux Basics
What Linux is, why servers run it, how the filesystem is laid out, and the handful of ideas that make everything else make sense.
- 02Beginner 13 min
The Terminal
How the shell reads what you type, how to combine commands, redirect output, and keep a long-running command alive.
- 03Beginner 13 min
Files and Folders
Move around, inspect, copy, move and delete files safely, plus the search commands that find anything on a server.
- 04Beginner 12 min
Users
Why servers have multiple user accounts, what root really is, how sudo works, and why applications get their own user.
- 05Beginner 11 min
Groups
Grant several users or services access to the same files without handing out root, using groups and the setgid bit.
- 06Beginner 13 min
Permissions
Read a permission string, set permissions with numbers or letters, and understand why execute means something different on directories.
- 07Beginner 13 min
Processes
See what is running, find what is consuming resources, and stop a process the right way rather than with force.
- 08Beginner 11 min
Services
What makes a program a service, why you should not start applications by hand, and how a service manager keeps things running.
- 09Intermediate 15 min
systemd
Write a service unit from scratch: dependencies, restart policy, environment, security hardening and reading the journal.
- 10Beginner 12 min
Package Managers
Install, update and remove software safely, understand repositories and pinning, and apply security updates without breaking things.
- 11Beginner 12 min
Environment Variables
How configuration reaches your application, where variables come from, and why secrets belong here rather than in code.
- 12Beginner 12 min
Logs
Where logs live, how to search them quickly during an incident, and how to stop them filling the disk.
- 13Beginner 13 min
Cron and Scheduled Jobs
Schedule recurring work reliably: crontab syntax, the environment trap, capturing output, locking and systemd timers.
- 14Beginner 13 min
SSH
Connect to remote machines, copy files, forward ports and use a config file to make it all painless.
- 15Beginner 13 min
SSH Keys
Replace passwords with key pairs: how they work, generating and installing them, using an agent, and locking down the server.
- 16Beginner 11 min
Ports
See what is listening on a server, understand binding addresses, and diagnose why a connection is refused.
- 17Beginner 12 min
Firewall
Control which traffic reaches your server, set a default-deny policy safely, and avoid locking yourself out.
- 18Beginner 11 min
DNS on the Server
How a Linux server resolves names, where the configuration lives, and how to diagnose resolution problems quickly.
- 19Intermediate 13 min
SSL/TLS Certificates
Obtain and renew certificates with Let’s Encrypt, understand the chain, and diagnose the errors browsers show.
- 20Intermediate 14 min
Nginx
Configure Nginx for real use: server blocks, static files, proxying to an application, and testing before reloading.
- 21Intermediate 12 min
Apache
The other major web server: how its configuration differs from Nginx, when it is the better choice, and how to run it well.
- 22Intermediate 13 min
Setting Up a Reverse Proxy
Put a web server in front of your application: bind locally, proxy correctly, handle headers, WebSockets and timeouts.
- 23Intermediate 15 min
Server Security
The measures that actually prevent compromise: SSH hardening, updates, least privilege, fail2ban and knowing what is exposed.
- 24Intermediate 14 min
Backups
Back up databases and files properly: what to include, where to store copies, how to automate, and why restores must be tested.