What is Linux?
When talking about "Linux", we are not talking explicitly about one operating system. This is because the Linux ecosystem is the collective effort of numerous open-source development communities. Developer collectives create modular components that conglomerate into larger systems.
These systems revolve around the Linux kernel, which has complete control over all hardware and software. The kernel is always loaded into memory, facilitating communication between components like your processor, graphics card, and storage drives with your operating system.

The kernel is packaged alongside software created by other open-source developers into a 'distro' – or a distribution. Entire Linux distros can derive from other distros and create a family tree. Debian is root of Ubuntu which is used in turn for Raspberry Pi OS, ElementaryOS, Linux Mint and many others.
![]() |
![]() |
![]() |
Software freedom and equitable access are central tenets of many Linux distributions. Decentralized development – with developers located around the world – is fostered by the open-source ethos that revolves around open knowledge sharing and peer participation. Much of our modern world is powered through open-source software projects, such as openssl which acts as the backbone of the internet.
Components
The Linux operating system comes with several core components. These parts works together to get the hardware started so that software can be loaded on it.

Bootloader
When a computer is first turned on, the bootloader is used to load the kernel and first stages of the operating system. GRUB (or the GNU GRand Unified Boot) is perhaps the most common bootloader for Unix-like operating systems.
Init
Once GRUB has loaded the kernel, the first thing loaded by the operating system is called an init program. This integral service is the root of all other processes operating on the computer. For many Linux distributions, systemd has become the defacto standard.
Shell
The system loads the shell, or the user interface, which is the interactive element of the operating system. The shell can be a command line interface or a graphical user interface.
Command Line
Command line interfaces offer powerful direct access to our computer hardware and software. You accomplish this using text-based programs and utilities that make it easy to automate tasks.
Graphical User Interface
Graphical user interfaces create a desktop environment that allows you to interact with the operating system and applications visually. Debian uses GNOME by default, but other common desktop environments include:
The Desktop Environment is largely a personal preference and affects what applications are installed by default. They define the overall look and feel of your user experience.
File System
The shell allows users to interact with applications and data stored on our disk drives using a file system. File paths are expressed by their folder hierarchy, starting with root or "/". Personal user data is stored within root in the home directory, or "/home". Each user account has their own home directory containing their own files and folders, e.g. "/home/user".
Linux has an "everything is a file" design philosophy which functionally means that hardware devices, processes, and sockets are overlaid onto our root folder. As an example, the directory "/proc" doesn't actually exist on our operating system hard drive. It is an virtual file representing real-time information from the kernel and other processes. This allows us to access information provided by them directly through the shell.
When we have multiple hard drives, they are located within the virtual "/mnt" directory. This enables all of our storage spaces to be accessed as a subfolder of the Linux root folder. This behaves differently than Windows which assigns a letter designation to each drive, creating multiple root folders – like "C:\" and "D:\".
Windows path use a backslash ("\") while Linux uses a forward slash ("/").
