Learn to work on a Linux server from the terminal: files, permissions, logs, services, scripts and SSH.
Needs basic programming experience in any language, you have used a terminal before, even if only to paste commands
Finish all 44 lessons and get a certificate with your name on it.
This course is for backend developers who can write code but have mostly used the terminal by copying commands from a guide. You'll learn what those commands do, so you can work on a Linux server on your own and fix things when they break.
All 44 lessons use one example: an orders API written in Node.js, running on an Ubuntu 24.04 server. You log in to it, read its config and logs, fix its permissions, run it as a service, write scripts to back it up and deploy it, and reach it from your laptop over SSH. Each lesson is 2 to 4 minutes long, about two and a half hours in total.
The course has 7 chapters. You start with the terminal, the shell and moving around the file system. Then you work with files and folders, users and permissions, and text tools like pipes, grep, sed, awk, curl and jq. After that come processes, signals, systemd and ports, then bash scripts and cron. The last chapter covers SSH: keys, the config file, copying files and port forwarding.

Course by
Kamran Ahmed
Kamran is the founder of roadmap.sh. He has spent over a decade building products at startups and scale-ups, and created open-source tools used by millions of developers. He loves teaching and simplifying complex topics.
Published 5h ago
roadmap.shby@nilbuild@nilbuild
Community created roadmaps, best practices, projects, articles, resources and journeys to help you choose your path and grow in your career.