Linux Learning Guide
Linux Learning Guide¶
Introduction¶
This folder contains materials for systematic learning of the Linux operating system, from basics to server administration.
- Target Audience: Linux beginners ~ server administrators
- Distributions: Ubuntu/Debian and CentOS/RHEL both covered
- Goal: From command usage to server operations
Learning Roadmap¶
[Beginner] [Intermediate] [Advanced]
│ │ │
▼ ▼ ▼
Linux Basics ──────▶ Text Processing ──────▶ Shell Scripting
│ │ │
▼ ▼ ▼
Filesystem ────────▶ Permissions ───────────▶ Network Basics
│ │ │
▼ ▼ ▼
File Mgmt ─────────▶ User Mgmt ─────────────▶ System Monitoring
│ │
▼ ▼
Process Mgmt ──────────▶ Security & Firewall
│
▼
Package Mgmt
Prerequisites¶
- Basic computer skills
- Understanding of terminal/command prompt concepts
- English command reading (not required)
File List¶
| File | Difficulty | Key Topics |
|---|---|---|
| 01_Linux_Basics.md | ⭐ | Linux concepts, distributions, terminal, basic commands |
| 02_Filesystem_Navigation.md | ⭐ | Directory structure, paths, ls, cd, find |
| 03_File_Directory_Management.md | ⭐ | touch, mkdir, cp, mv, rm, tar |
| 04_Text_Processing.md | ⭐⭐ | grep, sed, awk, pipes, redirection |
| 05_Permissions_Ownership.md | ⭐⭐ | chmod, chown, special permissions, umask |
| 06_User_Group_Management.md | ⭐⭐ | useradd, sudo, user/group management |
| 07_Process_Management.md | ⭐⭐ | ps, top, kill, systemctl |
| 08_Package_Management.md | ⭐⭐ | apt, yum/dnf, repository management |
| 09_Shell_Scripting.md | ⭐⭐⭐ | variables, conditionals, loops, practical scripts |
| 10_Network_Basics.md | ⭐⭐⭐ | ip, ssh, port checking, remote access |
| 11_System_Monitoring.md | ⭐⭐⭐ | df, free, logs, cron |
| 12_Security_and_Firewall.md | ⭐⭐⭐⭐ | SSH security, ufw, firewalld, fail2ban |
| 13_Systemd_Advanced.md | ⭐⭐⭐⭐ | service units, timers, sockets, journald |
| 14_Performance_Tuning.md | ⭐⭐⭐⭐ | sysctl, kernel parameters, perf, flamegraph |
| 15_Container_Internals.md | ⭐⭐⭐⭐ | cgroups, namespaces, container runtime |
| 16_Storage_Management.md | ⭐⭐⭐⭐ | LVM, RAID, filesystems, LUKS encryption |
| 17_SELinux_AppArmor.md | ⭐⭐⭐⭐ | SELinux policies, AppArmor profiles, troubleshooting |
| 18_Log_Management.md | ⭐⭐⭐ | journald, rsyslog, logrotate, remote logging |
| 19_Backup_Recovery.md | ⭐⭐⭐⭐ | rsync, Borg Backup, disaster recovery strategies |
| 20_Kernel_Management.md | ⭐⭐⭐⭐ | kernel compilation, modules, DKMS, GRUB |
| 21_Virtualization_KVM.md | ⭐⭐⭐⭐ | libvirt, virsh, VM management, snapshots |
| 22_Ansible_Basics.md | ⭐⭐⭐ | inventory, playbooks, roles, Vault |
| 23_Advanced_Networking.md | ⭐⭐⭐⭐ | VLAN, bonding, iptables/nftables |
| 24_Cloud_Integration.md | ⭐⭐⭐ | cloud-init, AWS CLI, metadata |
| 25_High_Availability_Cluster.md | ⭐⭐⭐⭐⭐ | Pacemaker, Corosync, DRBD |
| 26_Troubleshooting_Guide.md | ⭐⭐⭐ | boot, network, disk, performance troubleshooting |
Recommended Learning Path¶
Stage 1: Linux Introduction (Beginner)¶
01_Linux_Basics → 02_Filesystem_Navigation → 03_File_Directory_Management
Learn terminal usage and basic commands.
Stage 2: Practical Usage (Intermediate)¶
04_Text_Processing → 05_Permissions_Ownership → 06_User_Group_Management
→ 07_Process_Management → 08_Package_Management
Learn file processing, permission management, and system operations basics.
Stage 3: Server Administration (Advanced)¶
09_Shell_Scripting → 10_Network_Basics → 11_System_Monitoring → 12_Security_and_Firewall
Cover all aspects of server management including automation, networking, monitoring, and security.
Stage 4: System Deep Dive (Expert)¶
13_Systemd_Advanced → 14_Performance_Tuning → 15_Container_Internals → 16_Storage_Management
Study systemd, performance optimization, container internals, and storage management.
Stage 5: Enterprise Operations (Expert)¶
17_SELinux_AppArmor → 18_Log_Management → 19_Backup_Recovery → 20_Kernel_Management
Cover security modules, log management, backup strategies, and kernel management.
Stage 6: Infrastructure Engineering (Expert)¶
21_Virtualization_KVM → 22_Ansible_Basics → 23_Advanced_Networking → 24_Cloud_Integration
→ 25_High_Availability_Cluster → 26_Troubleshooting_Guide
Master virtualization, automation, advanced networking, cloud, HA, and troubleshooting.
Practice Environment¶
Ubuntu (Recommended)¶
# Quick start with Docker
docker run -it ubuntu:22.04 bash
# Or use VM/WSL
# - VirtualBox + Ubuntu ISO
# - Windows WSL2
CentOS/RHEL¶
# Start with Docker
docker run -it rockylinux:9 bash
# Or use VM
# - VirtualBox + Rocky Linux ISO
Cloud (for practice)¶
- AWS EC2 Free Tier
- Google Cloud Free Tier
- DigitalOcean (paid)
Distribution Comparison¶
| Item | Ubuntu/Debian | CentOS/RHEL |
|---|---|---|
| Package Management | APT (apt) |
YUM/DNF (dnf) |
| Package Format | .deb | .rpm |
| Firewall | UFW | firewalld |
| Security Module | AppArmor | SELinux |
| Service Management | systemctl | systemctl |
| Main Use | Desktop, server | Enterprise server |
Related Resources¶
- Docker/ - Using Linux in container environments
- Git/ - Version control on Linux
- PostgreSQL/ - Database operations on Linux servers