Three layers to distinguish
An operating system manages CPU, memory, and devices and exposes services to applications. Linux is specifically the kernel: the core that allocates resources and communicates with hardware. A distribution combines that kernel with libraries, a shell, utilities, a package manager, and an update policy; Ubuntu, Debian, Fedora, and Red Hat Enterprise Linux are distributions.
user → applications and shell → kernel → hardware
Calling Ubuntu “a kernel version” is therefore incorrect. Two distributions can use similar kernels while differing in package management, release cadence, and defaults.
flowchart LR U["You<br/>terminal"] --> SH["Bash shell<br/>reads commands"] SH --> APP["Programs<br/>ls, nginx, apt"] APP -- "system calls" --> K["Linux kernel<br/>CPU, memory, drivers"] K --> HW["Hardware<br/>disk, NIC, CPU"] D["Distribution<br/>Ubuntu, RHEL"] -. "packages kernel + tools" .-> APP %% step U: You type a command in a terminal window. %% step SH: The shell parses it and starts the right program. %% step APP: Programs never touch hardware directly; they ask the kernel. %% step K: The kernel schedules CPU, hands out memory and talks to device drivers. %% step HW: Only the kernel drives the hardware. %% step D: A distribution bundles the kernel with a shell, libraries, tools and a package manager.
Where Linux came from
Linus Torvalds released the first kernel in 1991 under the GPL licence. Most everyday tools around it (ls, cp, Bash) come from the GNU project, which is why you sometimes see the name GNU/Linux. Because the code is open, anyone can build a distribution, and today Linux runs most cloud servers, containers, Android phones, and network devices.
Distribution families
| Family | Examples | Package format and tool |
|---|---|---|
| Debian | Debian, Ubuntu | .deb, apt |
| Red Hat | RHEL, Fedora, Rocky Linux, Amazon Linux | .rpm, dnf |
| Lightweight | Alpine | apk; popular for container images |
Servers usually run an LTS (long-term support) release, which receives security fixes for years. Rolling releases update continuously and suit desktops more than production.
Shell, terminal, and console
The terminal is the window you type in; the shell (Bash, Zsh) is the program that reads your command and asks the kernel to run it. On a server you usually have no desktop at all: you connect over SSH and work only in the shell.
Inspect the system
| Command | Purpose |
|---|---|
uname -a |
Kernel, architecture, and hostname |
cat /etc/os-release |
Distribution name and version |
hostnamectl |
Hostname, OS, and kernel on systemd hosts |
whoami |
Current effective user |
uptime |
Uptime and load averages |
man ls |
A command's manual page |
uname -r shows the kernel version, while /etc/os-release shows the distribution version; they answer different questions. A VM or cloud instance provides a safe Linux practice environment without replacing the workstation OS.