Skip to main content
Linux Filesystem Hierarchy

Linux Crash Course

“Software is like sex: it is better when it is free.” - Linus Torvalds
Linux runs 96.3% of the world’s top 1 million servers. All of the top 500 supercomputers. Every Android phone. Most of the internet. The Mars helicopter. If you want to work in tech, Linux is not optional. This course takes you from command-line-curious to shell-wielding confident.

Why Linux Matters

Every major tech company runs on Linux. Here’s why:

Server Dominance

96.3% of top web servers, 100% of supercomputers, all Android devices

Free & Open Source

No licensing costs, complete control, massive community support

Cloud Native

AWS, GCP, Azure - all built on Linux. Containers run on Linux.

DevOps Essential

CI/CD, Docker, Kubernetes - all require Linux knowledge

The Story Behind Linux

1991: Linus Torvalds, a 21-year-old Finnish student, started writing a free Unix-like kernel as a hobby. The Announcement:
“I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu)”
— Linus Torvalds, August 25, 1991
Today: Linux runs:
  • 96.3% of the world’s top 1 million servers
  • 100% of the world’s top 500 supercomputers
  • 3+ billion Android devices
  • AWS, Google, Facebook, Netflix infrastructure
  • SpaceX rockets and the Mars helicopter

What You’ll Learn

1

Fundamentals

File system navigation, essential commands, file operations. The commands you will type thousands of times. Start Here
2

Internals Deep Dive

The kernel, system calls, virtual filesystem, process scheduling. If you love understanding how things actually work, this one is for you. Explore Internals
3

Permissions and Users

User management, file permissions, sudo, security fundamentals. Understanding who can do what. Learn Permissions
4

Process Management

Understanding processes, systemd, services, job control. Keeping things running. Manage Processes
5

Networking

Network configuration, SSH, firewall rules, troubleshooting. Connecting to the world. Master Networking
6

Shell Scripting

Bash scripting, automation, cron jobs. Making the machine work for you. Write Scripts
7

Security

Hardening, auditing, common vulnerabilities. Keeping the bad actors out. Secure Systems
8

Monitoring

System metrics, log analysis, performance tuning. Knowing what is happening. Monitor Everything

Linux Distributions

DistributionBest ForPackage Manager
UbuntuBeginners, serversapt
DebianStability, serversapt
RHEL/CentOSEnterpriseyum/dnf
FedoraLatest featuresdnf
ArchAdvanced userspacman
AlpineContainersapk
For this course: Examples use Ubuntu/Debian, but concepts apply to all distributions.

Linux vs Windows vs macOS

FeatureLinuxWindowsmacOS
CostFree$139+Requires Mac hardware
Servers96.3%3.7%Less than 1%
CustomizationCompleteLimitedLimited
Command LineBash/ZshPowerShellZsh
Package Managerapt/yum/pacmanwingetbrew
DockerNativeWSL2VM

The Linux Philosophy

Devices, processes, network connections - all represented as files
ls /dev/  # Hardware devices
ls /proc/ # Running processes
Each program does one thing well, combine them with pipes
cat file.txt | grep "error" | wc -l
Configuration files are plain text, easy to edit and version control
vim /etc/nginx/nginx.conf
Automate everything with shell scripts
#!/bin/bash
for server in $(cat servers.txt); do
  ssh $server "uptime"
done

Real-World Use Cases

Web Servers

Apache, Nginx running on Linux power most websites

Cloud Infrastructure

EC2, GCE, Azure VMs - all Linux-based

Containers

Docker, Kubernetes run on Linux kernel features

DevOps Automation

CI/CD pipelines, infrastructure as code, monitoring

Prerequisites

What You Need:
  • A Linux system (Ubuntu recommended)
  • Or WSL2 on Windows
  • Or a virtual machine (VirtualBox, VMware)
  • Or a cloud instance (AWS EC2, DigitalOcean)
Installation Options:
  • WSL2 (Windows): wsl --install -d Ubuntu
  • VirtualBox: Download Ubuntu ISO, create VM
  • Cloud: Launch Ubuntu instance on AWS/GCP/Azure
  • Dual Boot: Install alongside Windows (advanced)

Course Structure

This crash course takes you from zero to productive in 10-12 hours.

Module 1: Fundamentals (2-3 hours)

File system hierarchy, navigation commands, file operations, viewing and finding files. The muscle memory you will build here lasts a lifetime.

Module 2: Internals Deep Dive (2-3 hours)

User space vs kernel space, system calls, the virtual filesystem, process scheduling. If you love internals, continue. If not, skip to Module 3.

Module 3: Permissions and Users (2 hours)

User and group management, the rwx permission model, sudo mechanics, security fundamentals.

Module 4: Process Management (2 hours)

The ps command, top and htop, signals and killing processes, background jobs, systemd and service management.

Module 5: Networking (2-3 hours)

Network interfaces, IP configuration, SSH mastery, firewall basics with ufw and iptables, troubleshooting connectivity.

Module 6: Shell Scripting (2-3 hours)

Bash syntax, variables and loops, conditionals, functions, cron jobs and automation.

Module 7: Security (1-2 hours)

System hardening, audit logging, common vulnerabilities, intrusion detection basics.

Module 8: Monitoring (1-2 hours)

System metrics, log management, performance tuning, knowing when something is wrong.

Essential Commands Preview

# Navigation
cd /var/log        # Change directory
ls -lah            # List files with details
pwd                # Print working directory

# File operations
cp file.txt backup.txt    # Copy
mv old.txt new.txt        # Move/rename
rm file.txt               # Remove
mkdir mydir               # Make directory

# Viewing files
cat file.txt       # Display entire file
less file.txt      # Page through file
head -n 10 file.txt # First 10 lines
tail -f log.txt    # Follow file updates

# System info
uname -a           # System information
df -h              # Disk usage
free -h            # Memory usage
uptime             # System uptime

# Process management
ps aux             # List all processes
top                # Real-time process monitor
kill PID           # Terminate process

# Networking
ip addr            # Show IP addresses
ping google.com    # Test connectivity
ssh user@server    # Remote login

Why Developers Love Linux

  • Lightweight, fast boot times
  • Efficient resource usage
  • No bloatware or background processes
  • Direct hardware access

Learning Path

1

Week 1: Basics

Install Linux, learn navigation, practice daily commands
2

Week 2: Administration

User management, permissions, process control
3

Week 3: Networking

SSH, network configuration, troubleshooting
4

Week 4: Automation

Shell scripting, cron jobs, system automation

Success Metrics

By the end of this crash course, you will be able to:
  • Navigate the Linux file system without thinking
  • Manage files, directories, and permissions with confidence
  • Monitor and control processes like a sysadmin
  • Configure networking and SSH into remote servers
  • Write shell scripts that automate tedious tasks
  • Troubleshoot common Linux issues without Googling every step
  • Work productively in a terminal environment (and maybe even prefer it)

Fun Facts

  • Penguin Mascot: Tux the penguin became Linux’s mascot in 1996
  • Naming: “Linux” = Linus + Unix
  • First Version: Linux 0.01 had only 10,239 lines of code
  • Today: Linux kernel has 30+ million lines of code
  • Contributors: 20,000+ developers from 1,700+ companies
  • Mars: Linux runs on the Mars Perseverance rover

Ready to master Linux? Start with Linux Fundamentals or dive straight into Internals Deep Dive if you want to understand what is actually happening when you run a command.