Linux Essentials
Understand Linux’s core concepts—filesystems, processes, users/permissions, and the practical commands you’ll use every day as an engineer.
Linux is the operating system underneath most servers, containers, and Kubernetes nodes.
This tutorial builds an engineering “mental model” of Linux so you can debug systems, automate tasks, and understand what your infrastructure is doing.
Theory first: how to think in Linux
Before commands, think in Linux as a set of layered abstractions: hardware resources, the kernel that controls them, and userland tools that express intent. Most production issues are not “Linux is broken,” but mismatches between these layers (permissions, process lifecycle, networking, or filesystem expectations).
If you understand that model, troubleshooting becomes systematic: identify the failing layer, inspect the right signals, and apply the smallest corrective action.
Learning outcomes
By the end of this tutorial, you’ll be able to:
- Explain the Linux filesystem hierarchy basics
- Understand processes and signals
- Use users, groups, and permissions effectively
- Read system info to support incident debugging
The Linux mental model
Linux consists of:
- Kernel: manages CPU, memory, filesystems, networking, and processes
- Userland: commands and services you interact with (shell, coreutils, systemd, etc.)
Filesystem hierarchy (high signal)
Common paths you’ll see in production:
/etc— configuration files/var— variable data (logs, caches)/home— user home directories/opt— optional/third-party software/usr— binaries and libraries/proc— live kernel/system info (virtual files)
Processes: how Linux thinks
- A process is a running program.
- Each process has:
- PID (process id)
- environment variables
- open files (important for debugging)
- You manage processes via commands like
ps,top,kill,nice,renice.
Users, groups, permissions
Linux permission system includes:
- owner and group
- permissions: read/write/execute for owner/group/others
Common operations:
chmod— permissionschown— owner/groupumask— default permission mask for new files
Next steps
Continue with:
- Processes & troubleshooting
- Networking basics
- Shell scripting patterns