What is Linux for DevOps?
Almost every server, container, and CI runner you will ever touch runs Linux. DevOps is largely the art of operating Linux machines at scale, so comfort at the command line — files, processes, permissions, packages — is the bedrock everything else sits on.
Why it matters
You cannot automate what you cannot do by hand. Every Dockerfile, shell script, and Kubernetes manifest assumes Linux knowledge underneath. Engineers fluent in the shell debug a broken server in minutes; those who only know a GUI are stuck the moment something goes wrong in production.
What to learn
- The filesystem hierarchy and navigating it
- Files, permissions, ownership, and
chmod/chown - Processes, signals, and
ps/top/kill - Standard input, output, error, and redirection
- The package manager (
apt,dnf) and installing software - systemd and managing services
- Users, groups, and
sudo
Common pitfall
Running everything as root because it makes permission errors go away. Root
bypasses the safety the permission system provides, so a typo or a compromised
process can wreck the whole machine. Work as a normal user and reach for sudo
deliberately, only when a task genuinely needs it.
Resources
Primary (free):
- Linux Journey · docs
- The Linux Command Line (free book) · docs
- Ubuntu — Command line for beginners · docs
Practice
On a Linux machine or container, create a directory tree, set a file so only its owner can write it, find which process is using a port, and tail a system log. Install a package and start it as a service. Done when you can do all of it from the shell without searching for every command.
Outcomes
- Navigate the filesystem and manage files from the shell.
- Read and set permissions and ownership correctly.
- Inspect and control processes and services.
- Install and manage software with the package manager.