Skip to content
elephantoo

What is Linux? Distros & getting set up

Lesson 1 of 31 12 min read

The kernel, GNU tools and distributions, and how to get Linux via WSL, a VM or the cloud.


Linux runs most of the internet: nearly all web servers and cloud machines, every Android phone, the world's 500 fastest supercomputers, routers, TVs, cars and the containers behind modern apps. Learning Linux, and its command line in particular, is one of the most useful skills a developer, DevOps engineer, data scientist or security professional can have.

A tiny bit of history#

  • 1969: Unix is created at Bell Labs. Its ideas (small tools, plain-text files, everything is a file) still shape Linux today.
  • 1983: Richard Stallman starts the GNU project to build a free Unix-like system: compilers, shells and command-line tools.
  • 1991: Linus Torvalds, a Finnish student, releases the Linux kernel. Combined with the GNU tools, it becomes a complete free operating system.

Linux is open source, under the GPL licence. Anyone can read, modify and share the code, and thousands of companies and volunteers improve it.

Kernel vs operating system#

Strictly, "Linux" is just the kernel: the core program that talks to hardware, schedules processes, manages memory and enforces permissions. A usable system needs much more:

Output
┌─────────────────────────────────────────────┐
│  Applications   (Firefox, nginx, Python…)    │
├─────────────────────────────────────────────┤
│  Shell & tools  (bash, ls, grep, coreutils)  │
│  Init system    (systemd)                    │
│  Package manager (apt, dnf)                  │
├─────────────────────────────────────────────┤
│  Linux kernel   (drivers, processes, memory) │
├─────────────────────────────────────────────┤
│  Hardware                                    │
└─────────────────────────────────────────────┘

A distribution ("distro") packages the kernel with all of these layers, plus an installer and update system.

FamilyDistrosPackage managerTypical use
DebianDebian, Ubuntu, Linux Mint, Pop!_OSapt (.deb)servers, desktops, cloud: the most common starting point
Red HatFedora, RHEL, Rocky Linux, AlmaLinux, CentOS Streamdnf (.rpm)enterprise servers (RHEL), cutting-edge desktop (Fedora)
ArchArch Linux, Manjaro, EndeavourOSpacmanenthusiasts who like to build their own setup
SUSEopenSUSE, SLESzypperenterprise, especially in Europe
AlpineAlpine Linuxapktiny Docker images

This course uses Ubuntu/Debian commands, with notes where Fedora/RHEL differ. Once you know one family, the others feel familiar: the shell, the filesystem layout and 95% of commands are the same everywhere.

LTS releases. Ubuntu ships a Long-Term Support version every two years (22.04, 24.04, 26.04…) with five years of updates, which makes them the usual choice for servers. Debian stable and RHEL take a similar approach.

Getting a Linux to practise on#

You don't need to replace your current operating system:

  • Windows: WSL 2. In PowerShell (as Administrator) run wsl --install, reboot, and open "Ubuntu" from the Start menu. You get a real Linux kernel and a full Ubuntu userland, integrated with Windows.
  • macOS. The Terminal app gives you a Unix shell (zsh) with most of the same commands. For real Linux, use a VM (UTM, Multipass, Parallels) or a cloud server.
  • Virtual machine. VirtualBox, VMware or GNOME Boxes can run an Ubuntu ISO in a window.
  • Cloud server. A small VM from any cloud provider. This is the most realistic option for learning server administration with SSH.
  • Live USB. Boot Ubuntu from a USB stick without installing it.
  • Docker. docker run -it --rm ubuntu:24.04 bash gives you a throwaway Ubuntu shell in seconds (minimal, without systemd).

First commands: who and where am I?#

Open a terminal and try these. They're all read-only and safe:

Terminal
whoami
hostname
uname -r
Output
ada
laptop
6.8.0-45-generic

whoami prints your user name, hostname the machine's name and uname -r the kernel version. uname -a shows everything about the kernel and architecture.

Which distribution is this?

Terminal
cat /etc/os-release
Output
PRETTY_NAME="Ubuntu 24.04.1 LTS"
NAME="Ubuntu"
VERSION_ID="24.04"
VERSION="24.04.1 LTS (Noble Numbat)"
ID=ubuntu
ID_LIKE=debian
...

ID_LIKE=debian tells you Ubuntu belongs to the Debian family, so apt is your package manager. On Fedora you'd see ID=fedora. Your output will match your own system.

A few more:

Terminal
uptime          # how long the system has been running, and its load
date            # current date and time
lscpu | head -5 # CPU information (first 5 lines)

Linux philosophy in practice#

A few ideas you'll see throughout this course:

  1. Small tools that do one thing well, combined with pipes (|) into powerful workflows.
  2. Text everywhere: configuration, logs and command output are plain text you can read, search and edit.
  3. Everything is a file: disks, terminals, even process information appear as files.
  4. Users and permissions are built in from the start, because Linux was designed as a multi-user system.
  5. The command line is automatable: anything you type can go into a script.

Desktop vs server#

Linux desktops (GNOME, KDE Plasma and others) are polished and great for development. On servers there's usually no graphical interface at all: you log in over SSH and do everything from the shell. That's why this course focuses on the command line, a skill that works identically on a laptop, a Raspberry Pi and a thousand-node cloud cluster.

Common mistakes#

  • Thinking you must pick the "perfect" distro first. Ubuntu or Debian are fine starting points, and the skills transfer to every distribution.
  • Practising on your only computer's main disk. Use WSL, a virtual machine or a cheap cloud server, where mistakes are free.
  • Confusing the shell with the terminal. The terminal is the window; the shell (bash) is the program inside it that runs your commands.
  • Copy-pasting commands you don't understand, especially ones that start with sudo. Read each one first.

What's next#

Next you'll meet the terminal and the shell properly: how commands are structured, how to get help, and the shortcuts that make you fast.

Check your understanding

Quick quiz

0/3 answered
  1. 1.Strictly speaking, what is 'Linux'?

  2. 2.Which distribution family uses apt and .deb packages?

  3. 3.Which command shows which distribution and version you are running?

Finished reading?

Mark this lesson complete to track your progress.