Linux

Overview

About Linux

Linux runs most of the internet: web servers, cloud infrastructure, containers, Android phones, and the majority of the world's supercomputers. Knowing your way around it is a baseline skill for developers, DevOps engineers, and security professionals. This course walks through it in the order most people learn it. It starts with Introduction to Linux (what it is, and how distributions differ) and Installation & Setup (picking a distribution and running it in a virtual machine or WSL).

Next comes The Command Line & Shell Basics, followed by Files & Navigation and Permissions & Ownership, which together cover the everyday work of moving around the filesystem safely. Text Processing & Pipes then introduces grep, sed, awk, and the pipe: the tools that make the terminal so powerful.

Users, Groups & Processes covers managing accounts and controlling what's running, Package Management covers installing and updating software with apt and dnf, and Networking & SSH covers inspecting connections and logging in to remote machines securely.

Finally, Shell Scripting turns everything you've learned into automation with Bash, and Services, Logs & Security covers systemd, journalctl, cron, and firewalls: the natural next step once you're ready to run a real server.

Content

11 modules
01

Introduction to Linux

What Linux is, how distributions differ, and where it runs, from servers and the cloud to phones and embedded devices.

Kernel & DistributionsOpen SourceUse Cases
02

Installation & Setup

Choosing a distribution, trying Linux safely in a virtual machine or WSL, and getting a working environment ready.

UbuntuVirtual MachinesWSL
03

The Command Line & Shell Basics

Getting comfortable in the terminal: running commands, reading manual pages, and using shortcuts to work faster.

Bashman pagesTab Completion
04

Files & Navigation

How the Linux directory tree is organized, and how to create, move, copy, search, and delete files from the terminal.

Filesystem Hierarchyls/cd/cp/mvfind
05

Permissions & Ownership

Controlling who can read, write, and execute files, and using sudo responsibly to run privileged commands.

chmodchownsudo
06

Text Processing & Pipes

Searching, filtering, and transforming text with grep, sed, and awk, and chaining commands together with pipes and redirection.

grepsed & awkPipes & Redirection
07

Users, Groups & Processes

Managing accounts and groups, and inspecting, prioritizing, and stopping the processes running on a system.

useraddps & topSignals
08

Package Management

Installing, updating, and removing software with the system package manager, and understanding repositories.

aptdnfRepositories
09

Networking & SSH

Inspecting network settings, transferring files, and logging in to remote machines securely with SSH keys.

ip & ssSSH Keyscurl & scp
10

Shell Scripting

Automating repetitive work with Bash scripts: variables, conditionals, loops, functions, and exit codes.

VariablesConditionals & LoopsFunctions
11

Services, Logs & Security

Running background services with systemd, reading logs, scheduling jobs with cron, and hardening a server with a firewall.

systemdjournalctl & cronufw

What You Can Do After This Course

By the end of the curriculum you'll have worked through 5 hands-on projects and covered the core of what an ops or developer role expects from someone who "knows Linux." Concretely, you'll be able to:

Work confidently in the terminal — navigate the filesystem, manage files, and get help from man pages without a GUI.

Control access and ownership — set permissions correctly and use sudo without reaching for chmod 777.

Process text like a pro — combine grep, sed, awk, and pipes to answer questions from logs and data files.

Manage a system end to end — handle users, processes, packages, and services on a real Linux machine.

Work with remote servers — connect over SSH with keys, transfer files, and check network connectivity.

Automate repetitive tasks — write Bash scripts and schedule them with cron or systemd.

Harden and troubleshoot — read logs with journalctl, configure a firewall, and spot problems before users do.