Introduction to Linux
Understand what Linux is, how the kernel, distribution, and shell relate, and why Linux matters in DevOps.
What Is Linux?
Linux is an open source operating system family built around the Linux kernel. In simple terms, it is the software layer that helps your computer talk to hardware, manage files, run programs, and control memory, networking, and users.
Many people say “Linux” when they really mean a complete operating system such as Ubuntu or CentOS. That is common in everyday conversation, but it helps to separate the main pieces.
Kernel vs Distribution vs Shell
The kernel is the core of the operating system. It handles low-level jobs such as CPU scheduling, memory allocation, device drivers, and process management.
A distribution or distro is a complete Linux operating system built around the kernel. It bundles package managers, default tools, system services, documentation, and a release model. Ubuntu, CentOS Stream, and Alpine are all distros.
A shell is the command-line interface you use to interact with the system. Popular shells include bash, zsh, and sh. When you type commands like ls or cd, the shell reads your input and launches the right program.
Tip: A useful mental model is: kernel = engine, distro = complete car, shell = steering wheel.
Why Linux Is Everywhere in DevOps
Most modern infrastructure runs on Linux. Cloud virtual machines, Kubernetes worker nodes, containers, CI runners, load balancers, and monitoring tools often use Linux under the hood.
DevOps engineers use Linux because it is:
- Stable for long-running services
- Scriptable with shells and automation tools
- Transparent because system behavior is exposed through text files and logs
- Lightweight enough for servers and containers
- Widely supported by cloud and open source tooling
If you know Linux, you can move more confidently between local development, staging, and production systems.
A Real Example
Imagine a team deploying a web application to AWS. Their EC2 instances run Ubuntu, their Docker containers use Alpine as a base image, and their Kubernetes control tools run on Linux in CI. Even if the developers use macOS or Windows locally, the production path still depends heavily on Linux skills.
Common Linux Distributions
Different distros target different goals.
Ubuntu
Ubuntu is one of the most beginner-friendly Linux distributions. It is common on cloud servers, tutorials, and developer workstations. It uses the apt package manager and has a large community.
Example package install:
sudo apt update
sudo apt install nginx
CentOS Stream
CentOS Stream is closely related to Red Hat Enterprise Linux. It is often seen in enterprise environments and is useful when learning Linux administration in business settings. Red Hat style systems typically use dnf or yum.
sudo dnf install nginx
Alpine
Alpine Linux is very small and security-focused. It is especially popular in containers because of its lightweight footprint.
apk add curl
Note: Alpine uses
muslinstead ofglibc, so a few binaries behave differently compared to Ubuntu or CentOS-based systems.
Linux on Servers, VMs, and Containers
Linux is not just for laptops. You will meet it in several forms:
- Physical servers in data centers
- Virtual machines in cloud platforms
- Containers running one application process
- Embedded systems like routers and appliances
In containers, Linux becomes even more important because containers rely on Linux kernel features such as namespaces and cgroups.
GUI vs Command Line
Linux can run desktop environments with graphical interfaces, but in DevOps you often work mainly in the terminal. That is because servers are commonly accessed over SSH and automated with scripts.
A GUI is helpful for beginners, but command-line skills scale better when managing many systems.
For example, updating ten servers through a GUI would be slow. Running one script over SSH is much faster.
ssh devops@server1
uname -a
cat /etc/os-release
These commands help you quickly learn what kernel and distro you are using.
Why Open Source Matters
Linux is open source, which means its source code can be inspected, modified, and redistributed under open source licenses. For DevOps teams, this matters because:
- bugs can be investigated more deeply
- tooling is highly customizable
- distributions can be optimized for different workloads
- vendor lock-in is reduced
Open source does not automatically mean easy, but it does mean the platform is flexible and widely shared.
What You Should Remember
Linux is the foundation of much of modern infrastructure. The kernel is the core engine, a distribution packages the full operating system, and the shell gives you a command-line way to control it.
As a DevOps engineer, Linux knowledge helps you troubleshoot servers, automate tasks, manage containers, and understand what production systems are actually doing.
If you remember only one thing from this lesson, remember this: learning Linux is not just learning commands. It is learning how modern systems are operated.
Test Your Understanding
Let's see how well you understood the concepts! These exercises will help reinforce what you just learned.
Exercise 1: Kernel, Distribution, and Shell
Scenario: A teammate says Ubuntu, Bash, and the Linux kernel are all the same thing.
Question: Which statement correctly separates those three concepts?
Exercise 1: Core Linux layers
Identify the difference between the Linux kernel, a distribution, and a shell.
Exercise 2: Why Linux shows up in DevOps
Scenario: Your company runs CI runners, Docker containers, and cloud VMs.
Question: Why is Linux especially common in that kind of environment?
Exercise 2: Linux in infrastructure
Choose the reason Linux is widely used across servers, containers, and automation.
Exercise 3: Choosing a distro for containers
Question: Which distribution from the lesson is especially popular as a lightweight container base image?
Exercise 3: Container-friendly distro
Pick the distribution the tutorial describes as small and common in containers.