LearnDevOpsHands-On Labs
All Tutorials
🐧
Prerequisite · Beginner

Linux & Shell Scripting

The backbone of DevOps. Master bash commands, pipes, permissions, process management, systemd, networking, and log analysis.

19 Modules & Lessons
Estimated Time: ~7 Hours

Curriculum & Notes

Click any title or "See Notes" to read concepts

1Module 1: Linux CLI & Filesystem Hierarchy

7 lessons
Introduction to Linux

Learn what Linux is: kernel versus distribution versus shell, which distro to learn for DevOps, and why servers and containers overwhelmingly run Linux.

Linux Filesystem

Learn the Linux directory tree: what /etc, /var and /usr hold, /tmp versus /var/tmp, virtual /proc and /sys, and the places where disks tend to fill up.

Linux Navigation

Move around Linux with confidence: absolute versus relative paths, reading ls -l output, which versus type, man pages and fixing command not found errors.

Linux File Operations

Copy, move, delete and read files safely on Linux: why rm has no undo, cp -r versus cp -a, the trailing-slash trap, find by name and size, less versus tail.

Linux Text Processing

Use grep, sed, awk, sort and uniq for real work: pick the right tool for each question, avoid the sed -i portability trap and see why errors vanish in pipes.

Linux Permissions

Understand Linux permissions: rwx for user, group and other, octal modes like 755 and 644, chmod versus chown, setuid, the sticky bit and umask defaults.

Linux Users and Groups

Manage Linux accounts safely: useradd versus adduser, why usermod -aG needs a new login, the destructive -G mistake, sudo versus su and the account files.

2Module 2: Permissions, Ownership & Process Management

6 lessons
Linux Process Management

Find, watch and stop Linux processes: use ps and top, send SIGTERM before SIGKILL, spot zombie states, read load average and find which process owns a port.

Linux systemd Basics

Manage Linux services with systemctl: start versus enable, daemon-reload after edits, writing a unit file, what Type= controls and reading logs.

Linux Networking

Diagnose Linux networking with ip and ss instead of ifconfig and netstat, learn why ping proves little, debug DNS with dig and choose rsync over scp.

Linux Disk and Storage

Find and fix Linux disk problems: why df and du disagree, deleted-but-open files, inode exhaustion, persistent mounts by UUID in fstab and tar versus zip.

Linux Bash Scripting

Write bash scripts that fail loudly, not silently: use set -euo pipefail, quote variables, prefer [[ ]] over [ ], clean up with trap and lint with shellcheck.

Linux Package Management

Install software on any distro: apt versus apt-get, remove versus purge, fixing dpkg lock errors, dnf and rpm on Red Hat systems, and when snap is worth it.

3Module 3: Networking, Systemd & Log Diagnostics

6 lessons
Linux Environment Variables

Learn Linux environment variables: shell versus exported variables, .bashrc versus .bash_profile, extending PATH safely and why sudo drops your environment.

Linux Cron Jobs

Schedule jobs with crontab: the five time fields, common examples, why a script that works manually fails in cron, capturing output, and systemd timers.

Linux SSH Keys

Set up SSH keys properly: generate Ed25519 keys with ssh-keygen, fix permission errors that block a valid key, use ssh-agent, ~/.ssh/config and ProxyJump.

Linux Firewall Basics

Set up a Linux firewall without locking yourself out: compare ufw, firewalld and iptables, allow SSH first, default deny, zones and persistent rules.

Linux Log Management

Find what went wrong in Linux logs: /var/log versus the systemd journal, tail -F over -f, grep filtering, logrotate, journald size caps and error triage.

Linux Performance Monitoring and Troubleshooting

Triage Linux performance in order: CPU, memory and I/O. Learn what load average counts, why free memory looks low and how to read iowait with vmstat.