Linux & Bash Scripting Roadmap
Complete Linux and Bash roadmap for DevOps engineers. From basic commands to advanced shell scripting, system administration, performance tuning, and automation.
Linux Fundamentals
The filesystem, users, and the shell
What to learn
- Filesystem hierarchy — /etc, /var, /proc, /sys explained
- File and directory operations — cp, mv, rm, ln, find
- Permissions — rwx, chmod, chown, SUID/SGID, sticky bit
- Users and groups — useradd, usermod, sudo, /etc/passwd
- Package management — apt, yum/dnf, snap, pip
- Man pages and help — man, tldr, --help patterns
Key tools
Shell Scripting Basics
Automate repetitive tasks with bash
What to learn
- Variables, quoting, arithmetic, and parameter expansion
- Conditionals — if/elif/else, test expressions, [[ ]]
- Loops — for, while, until, break/continue
- Functions — defining, local variables, return values
- Input/output — read, echo, printf, stdin/stdout/stderr
- Exit codes — $?, trap for cleanup on exit
Key tools
Text Processing & Pipelines
The Unix philosophy: small tools, chained together
What to learn
- grep — patterns, context (-A/-B/-C), recursive (-r)
- awk — field splitting, conditions, print formatting
- sed — substitution, deletion, in-place editing
- cut, paste, sort, uniq, wc, head, tail
- xargs — converting stdin to command arguments
- jq — parsing and transforming JSON from CLI
- Pipes and process substitution — <(), >()
Key tools
Process & System Management
Own every process running on your servers
What to learn
- Process lifecycle — fork, exec, signals (SIGTERM, SIGKILL, SIGHUP)
- systemd — unit files, service management, journalctl
- Cron and systemd timers — scheduling recurring jobs
- Background jobs — &, nohup, disown, bg/fg, screen/tmux
- ulimits — file descriptors, process limits, /etc/security/limits.conf
- Boot process — BIOS/UEFI, GRUB, init, target units
Key tools
Networking from the Terminal
Debug any network issue without leaving the shell
What to learn
- ip, ifconfig — interfaces, routes, ARP table
- ss, netstat — listening ports, established connections
- nc (netcat) — port scanning, quick file transfers, debugging
- curl, wget — HTTP testing, downloading, API calls
- dig, nslookup — DNS resolution debugging
- tcpdump — packet capture and analysis
- SSH — tunnels, port forwarding, ProxyJump, agent forwarding
Key tools
Performance Analysis & Tuning
Find the bottleneck before your users do
What to learn
- CPU analysis — top, htop, mpstat, perf stat, load average
- Memory analysis — free, vmstat, /proc/meminfo, smem
- Disk I/O — iostat, iotop, fio for benchmarking
- Network performance — iperf3, nethogs, ss -s
- strace and ltrace — syscall tracing for debugging
- perf — CPU profiling, flamegraphs with FlameGraph tool
- Linux tuning — kernel parameters via sysctl
Key tools
Advanced Bash & Automation
Scripts that run in production reliably
What to learn
- Error handling — set -euo pipefail, trap ERR, descriptive exit codes
- Argument parsing — getopts, usage() function, positional params
- Logging — timestamped log functions, log levels, tee to file
- Idempotent scripts — safe to run multiple times
- Parallel execution — xargs -P, GNU parallel, background jobs
- Script testing with bats-core — unit tests for shell scripts
- Portability — POSIX compliance, macOS vs Linux differences
Key tools
Security Hardening
Harden Linux servers against common attacks
What to learn
- SSH hardening — key-only auth, disable root, change port, fail2ban
- Firewall — iptables / ufw / nftables rules and persistence
- File integrity monitoring — auditd, tripwire
- User privilege management — sudo policies, least privilege
- SELinux / AppArmor — mandatory access control
- Security scanning — Lynis, OpenSCAP for compliance checks
- Log monitoring — central logging, anomaly detection
Key tools
Interview Prep
DevOps Interview Prep Bundle — 1000+ Q&A
Every topic on this roadmap has interview questions in the bundle — Docker, Kubernetes, AWS, CI/CD, Linux, SRE, FinOps, System Design. Grab it before your next interview.