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:
- Purpose — server, desktop, container, or embedded
- Stability vs freshness — rolling release (Arch) vs fixed release (Debian/Ubuntu LTS)
- Package ecosystem — availability of the software you need
- 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.