Skip to content

You are viewing a free preview of this lesson.

Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.

What is Linux

What is Linux

Linux is a free and open-source operating system kernel first released by Linus Torvalds in 1991. Today, Linux powers everything from smartphones and embedded devices to the vast majority of the world's servers and cloud infrastructure.


A Brief History

  • 1969 — Ken Thompson and Dennis Ritchie create Unix at AT&T Bell Labs
  • 1983 — Richard Stallman launches the GNU Project to create a free Unix-like OS
  • 1991 — Linus Torvalds releases the first Linux kernel (version 0.01) as a hobby project
  • 1992 — Linux is relicensed under the GNU GPL, cementing its open-source status
  • 1993 — Debian and Slackware become some of the first Linux distributions
  • 1994 — Linux kernel 1.0 is released
  • 2004 — Ubuntu launches, making Linux more accessible to desktop users
  • 2008 — Android (based on the Linux kernel) is released for mobile devices
  • Today — Linux runs on over 90% of the world's public cloud servers, all of the top 500 supercomputers, and billions of Android devices

Kernel vs Distribution

The Linux Kernel

The kernel is the core of the operating system. It manages:

  • Hardware — CPU scheduling, memory management, device drivers
  • Processes — creating, scheduling, and terminating processes
  • File systems — reading and writing to storage devices
  • Networking — the TCP/IP stack, sockets, and packet routing

The kernel alone is not a usable operating system — it needs user-space tools and applications.

GNU/Linux

The GNU Project provides the essential user-space tools:

  • Coreutils — ls, cp, mv, rm, cat, chmod, chown
  • Bash — the default shell on most distributions
  • GCC — the GNU Compiler Collection
  • glibc — the C standard library

Together, the Linux kernel and GNU tools form a complete operating system, often called GNU/Linux.

Linux Distribution

A distribution (distro) packages the kernel, GNU tools, a package manager, and additional software into a complete, installable operating system.


Popular Distributions

Distribution Base Package Manager Best For
Ubuntu Debian apt Beginners, desktops, servers
Debian Independent apt Stability, servers
Fedora Independent dnf Developers, cutting-edge features
CentOS Stream / RHEL Fedora dnf / yum Enterprise servers
Arch Linux Independent pacman Advanced users, customisation
openSUSE Independent zypper Enterprise, rolling release
Alpine Linux Independent apk Containers, minimal footprint
Linux Mint Ubuntu apt Desktop, Windows migrants

Choosing a Distribution

Consider:

  1. Purpose — server, desktop, container, or embedded
  2. Stability vs freshness — rolling release (Arch) vs fixed release (Debian/Ubuntu LTS)
  3. Package ecosystem — availability of the software you need
  4. Community and support — documentation, forums, commercial support

Open Source and the GPL

Linux is distributed under the GNU General Public License (GPL) version 2:

  • You can use Linux for any purpose
  • You can study and modify the source code
  • You can distribute copies (original or modified)
  • Modifications distributed must also be open source (copyleft)

This licence model has enabled massive collaboration — the Linux kernel has over 15,000 contributors from thousands of organisations.


Where Linux is Used

Environment Examples
Cloud servers AWS EC2, Google Compute Engine, Azure VMs (90%+ run Linux)
Containers Docker and Kubernetes run on Linux
Supercomputers All of the world's top 500 supercomputers run Linux
Mobile Android is based on the Linux kernel (3+ billion devices)
Embedded Routers, smart TVs, IoT devices, car infotainment
Desktop Ubuntu, Fedora, Linux Mint (growing market share)
Networking Most network equipment runs Linux-based firmware

Linux Architecture

┌──────────────────────────────┐
│        User Applications      │
├──────────────────────────────┤
│     Shell (bash, zsh, fish)   │
├──────────────────────────────┤
│   GNU Utilities / Libraries   │
├──────────────────────────────┤
│  System Calls (open, read,    │
│  write, fork, exec, socket)   │
├──────────────────────────────┤
│         Linux Kernel          │
│  ┌────────┬────────┬────────┐ │
│  │Process │ Memory │  File  │ │
│  │ Mgmt   │  Mgmt  │Systems │ │
│  ├────────┼────────┼────────┤ │
│  │Network │ Device │Security│ │
│  │ Stack  │Drivers │Modules │ │
│  └────────┴────────┴────────┘ │
├──────────────────────────────┤
│          Hardware             │
└──────────────────────────────┘

Getting Started

To follow along with this course, you can use Linux in several ways:

Method Description
Virtual machine Install Ubuntu or Fedora in VirtualBox or VMware
WSL 2 Windows Subsystem for Linux (runs natively on Windows)
Cloud instance Launch a free-tier VM on any cloud provider
Live USB Boot Linux from a USB drive without installing
Dual boot Install Linux alongside your existing OS

Tip: For beginners, Ubuntu on WSL 2 or a virtual machine is the easiest way to start.


Summary

Linux is a free, open-source operating system kernel that, combined with GNU tools and a distribution, forms a complete OS. It dominates servers, cloud infrastructure, supercomputers, and mobile devices. Understanding Linux is an essential skill for developers, system administrators, and anyone working in DevOps. In the following lessons, we will learn to navigate the filesystem, manage files, and master the command line.