Skip to content
DevOps devops linux 5 min read

What is Linux?

Linux is an open-source operating system that runs the vast majority of the world’s servers, almost every cloud platform, and nearly all of the tools you will use as a DevOps engineer. When people say “Linux,” they usually mean two things bundled together: a kernel (the core program that talks to your hardware) and a distribution (the kernel plus all the extra software that makes it usable). If you learn one thing well in DevOps, make it Linux — it is the single most valuable skill on this site, and almost everything else builds on top of it.

What an operating system actually is

An operating system (OS) is the software that sits between your hardware (CPU, memory, disk, network card) and the programs you want to run. Without an OS, every program would have to know how to talk directly to your specific hardware. The OS hides all of that and gives programs a simple, shared way to read files, use memory, and send data over the network.

Linux is one such operating system. Windows and macOS are others. The big difference is that Linux is open source, meaning anyone can read, change, and share its source code for free. That openness is exactly why it became the default choice for servers and the cloud — no licensing fees, total control, and a huge community fixing and improving it every day.

The kernel

The kernel is the heart of Linux. It is the program that loads first when a machine boots and stays running the entire time. Its job is to manage the hardware and share it fairly between every running program.

The kernel handles four core jobs:

  • Process management — deciding which program gets to use the CPU and when.
  • Memory management — handing out and reclaiming RAM so programs do not step on each other.
  • Device drivers — translating between software and physical devices (disks, network cards, USB).
  • System calls — the menu of safe requests a program can make, like “open this file” or “send these bytes over the network.”

Linus Torvalds released the first Linux kernel in 1991, and it is still actively developed today. Importantly, the kernel on its own is not something you can sit down and use — it has no login screen, no commands, no text editor. For that, you need a distribution.

The distribution

A distribution (often shortened to “distro”) is the Linux kernel packaged together with everything else you need to actually get work done: a shell, command-line tools, a package manager (a tool that installs and updates software), and system services. Think of the kernel as an engine and the distribution as the whole car built around it.

There are hundreds of distributions. The most common ones in DevOps are:

DistributionBest forPackage manager
UbuntuBeginners, cloud servers, the default almost everywhereapt
DebianRock-solid stability; Ubuntu is built on itapt
RHEL / Rocky / AlmaEnterprise, regulated environmentsdnf
AlpineTiny container imagesapk

This site focuses on Ubuntu, specifically the Long-Term Support (LTS) releases — Ubuntu 22.04 and 24.04. LTS means Canonical (the company behind Ubuntu) supports that version with security updates for five years, which is exactly what you want for a server you do not want to rebuild constantly.

When to use which

When to use Ubuntu: almost always, when you are learning or running general-purpose cloud servers. It has the best documentation, the largest community, and is the default image on AWS, Azure, and Google Cloud. Reach for RHEL/Rocky only when an employer or compliance rule requires it, and Alpine only when you need the smallest possible container image.

The shell

The shell is the program that reads the commands you type and asks the OS to run them. When you open a black terminal window and type something, you are talking to the shell. The default shell on Ubuntu is Bash (the Bourne Again Shell).

You can check which shell you are running:

echo $SHELL

Output:

/bin/bash

And you can confirm you are on Linux and see which kernel version is running:

uname -a

Output:

Linux web-server 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC x86_64 GNU/Linux

To see exactly which Ubuntu release you are on:

lsb_release -a

Output:

Distributor ID: Ubuntu
Description:    Ubuntu 24.04.1 LTS
Release:        24.04
Codename:       noble

That single Description line tells you the distribution (Ubuntu), the version (24.04), and that it is an LTS release — all the things we just defined, confirmed by one command.

Why Linux dominates servers

Linux owns the server world for a handful of very practical reasons:

  • Free and open — no per-machine license fees, so running thousands of servers does not cost a fortune in licensing.
  • Stable and lightweight — a Linux server can run for years without a reboot and uses very little memory, especially with no graphical desktop.
  • Remote-first — it is designed to be managed entirely over the command line via SSH (Secure Shell, a way to log into another machine securely over the network), which is perfect for servers you never physically touch.
  • Scriptable and automatable — every action is a command, so you can automate everything, which is the entire foundation of DevOps.
  • The cloud runs on it — Docker containers, Kubernetes, and most cloud services are built on Linux. Knowing Linux means understanding the layer beneath all of them.

Unix heritage

Linux is “Unix-like.” Unix was an operating system created at Bell Labs in 1969 that pioneered ideas still central today: everything is a file, small tools that do one thing well, and connecting those tools together with pipes. Linux is not literally Unix code, but it follows the same design philosophy and command set. This is why skills you learn on Linux transfer easily to macOS (which is genuinely Unix-based) and to other Unix-like systems.

Best Practices

  • Start with Ubuntu LTS (24.04). It is the most documented and the most likely image you will meet in a real job.
  • Get comfortable in the terminal early — almost all server and DevOps work happens there, not in a graphical interface.
  • Learn the difference between the kernel (which you rarely touch) and the distribution tools (apt, systemd, the shell) that you use every day.
  • Practice on a cheap throwaway cloud server or a local virtual machine so you can break things safely.
  • Always prefer LTS releases for anything that lives longer than an experiment, so you keep getting security updates.
  • Treat Linux as the foundation: master it before diving deep into Docker, Kubernetes, or CI/CD, because they all assume you already know it.
Last updated June 15, 2026
Was this helpful?