Unit

What Is Linux?

Learn what Linux is, how the kernel differs from a distribution, how Linux manages a computer, where it is used, and how to try it safely.

Linux is both a technical name for a computer kernel and a common name for complete operating systems built around that kernel. Understanding this distinction makes it easier to compare distributions, choose a desktop, use the command line, and understand where Linux appears in servers, cloud platforms, phones, and embedded devices.

Linux in one sentence

In the strict technical sense, Linux is a free and open-source kernel: the central software layer that manages hardware resources and provides essential services to programs.

A kernel controls access to the processor, memory, storage, devices, and other hardware. Applications normally do not control hardware directly. Instead, they request services from the kernel through defined interfaces.

In everyday conversation, people often use “Linux” to mean a complete Linux-based operating system, such as Ubuntu, Fedora, Debian, or Red Hat Enterprise Linux. A complete system includes the Linux kernel plus many other components.

Where the kernel fits

An operating system is software that manages computer resources and provides an environment for users and applications. The kernel is the core part of that operating system, but it is not the entire user experience.

A simplified Linux system has layers like these:

  • Hardware: the processor, memory, storage devices, display, keyboard, network adapter, and other peripherals.
  • Linux kernel: manages hardware resources, schedules processes, controls memory, provides device support, and enforces many security boundaries.
  • System libraries and services: provide reusable functions and background services that applications need.
  • Command-line tools and shells: allow users and administrators to work by typing commands.
  • Graphical environment: provides windows, panels, menus, settings, file managers, and other visual controls.
  • Applications: include web browsers, editors, office software, databases, media players, and development tools.

This layered design means that a web browser can open a file without knowing how a particular solid-state drive stores electrical states. The browser asks system software to access the file, and the kernel coordinates the hardware operation.

Layer or componentPurposeExamplesWhat users commonly see
HardwareProvides physical computing resourcesCPU, RAM, disk, keyboard, network adapterComputer components and peripherals
Linux kernelManages hardware and provides core system servicesProcess scheduling, memory management, device driversUsually not seen directly
System libraries and servicesConnect applications and user tools to operating-system servicesLibraries, logging, networking, audio servicesUsually work in the background
Distribution toolsInstall, configure, update, and maintain the systemInstaller, repositories, package managerSoftware store, update utility, installer
Desktop environment or shellProvides graphical or text-based interactionGNOME, KDE Plasma, Xfce, BashWindows and menus, or a terminal prompt
ApplicationsPerform tasks for users and organizationsBrowser, editor, database, web serverThe programs users intentionally run

What an operating system does

The operating system coordinates many activities that would otherwise be difficult for every application to implement independently.

  • Processor management: decides which running programs receive CPU time and helps programs run concurrently.
  • Memory management: assigns memory to processes, protects one process from another, and can use virtual memory when appropriate.
  • Storage and files: organizes data into files and directories and communicates with storage hardware through file systems and drivers.
  • Device management: provides controlled access to displays, keyboards, printers, disks, network cards, USB devices, and other hardware.
  • Users and permissions: identifies users and controls which files and system actions they may access.
  • Networking: implements communication protocols and provides interfaces for local and network applications.
  • Running programs: starts, stops, monitors, and isolates processes.
  • Security: separates processes, restricts protected actions, and supports authentication and authorization.

For example, when a text editor saves a document, the editor requests a file operation. The operating system checks the path and permissions, passes the request through the file system, and asks the relevant device driver and hardware to store the data.

Linux distributions

A Linux distribution, often called a distro, is a complete, installable Linux-based operating system. It combines the Linux kernel with software packages, system libraries, configuration, an installer, update tools, documentation, and often a graphical desktop.

Distributions exist because users and organizations have different requirements. A desktop distribution may emphasize ease of use and current applications. A server distribution may emphasize predictable updates, long support periods, and vendor assistance. A security distribution may collect specialized testing tools, while a lightweight distribution may reduce background services and graphical overhead for older hardware.

Distributions share many concepts, including processes, files, users, permissions, and the Linux kernel. They can still differ in important ways:

  • Package formats and package-management commands.
  • Default desktop environment and system applications.
  • Release schedule and update policy.
  • Configuration tools and enabled services.
  • Hardware support and software repositories.
  • Community support, commercial support, or both.
  • Target environment, such as desktop, server, security testing, or embedded use.

Representative distributions

DistributionPrimary audience or use casePackage format or management familyRelease approachNotable characteristics
UbuntuBeginner desktops, development, servers, and cloudDeb packages; APT familyRegular releases with selected long-term support releasesLarge community, broad hardware and software documentation
FedoraDesktop users, developers, and people wanting newer technologiesRPM packages; DNF familyRegular, comparatively fast-moving releasesStrong connection to upstream projects and modern defaults
DebianCommunity desktops, servers, and stable general-purpose systemsDeb packages; APT familyStable releases with carefully managed updatesLarge package collection and community governance
Arch LinuxExperienced users who want control and customizationPacman package managerRolling releaseMinimal default installation and extensive user configuration
Red Hat Enterprise LinuxEnterprise servers, data centers, and supported business systemsRPM packages; DNF familyManaged enterprise lifecycle and supportCommercial support, certification, and predictable maintenance
Linux MintBeginner-friendly desktop computingDeb packages; APT familyBased on a stable Ubuntu or Debian foundationFamiliar desktop workflow and approachable defaults
Security-focused distributionsSecurity assessment and specialized laboratory workVaries by distributionVariesPreinstalled diagnostic, testing, and forensic tools
Lightweight distributionsOlder or resource-constrained computersVaries by distributionVariesReduced resource use and simpler graphical defaults

The examples above are categories rather than universal rankings. A beginner, a business administrator, and a security professional may reasonably choose different distributions.

GNU, GNU/Linux, and the complete system

GNU is a free-software project that provides many tools and libraries used by Linux distributions. These can include command-line utilities, compilers, libraries, and other foundational software.

The name GNU/Linux emphasizes that many complete systems combine the Linux kernel with GNU software. Some people prefer this name because it recognizes both major parts of the system. Others commonly say “Linux” for the entire distribution. The important technical idea is that a usable operating system contains much more than the kernel alone.

Open source and software licensing

Source code is the human-readable set of instructions written by software developers. When source code is available under an appropriate license, people can study how the software works instead of receiving only a compiled, opaque program.

Open-source software is software whose source code is available under license terms that permit defined forms of use, study, modification, and sharing. These freedoms support peer review, independent development, collaboration, and adaptation for different environments. They do not mean that every possible use is unrestricted; the license still defines the permitted conditions.

Free software in the software-freedom sense means freedom for users, not necessarily a price of zero. “Free as in freedom” distinguishes these rights from “free as in no cost.” Open-source software may be distributed at no charge, sold with support, included in a commercial product, or offered under a mixture of licensing and service arrangements.

The Linux kernel is primarily licensed under the GNU General Public License, commonly abbreviated GPL. The GPL is a copyleft license: under its terms, redistribution of covered modified versions must preserve specified freedoms and licensing conditions. The exact obligations depend on the work and how it is distributed, so organizations should review the license and obtain legal advice when necessary.

Linux history and development

Linus Torvalds created the Linux kernel in the early 1990s. What began as a personal project became a large collaborative project used across many types of computing.

Today, Linux development involves contributors around the world, individual developers, universities, nonprofit communities, hardware manufacturers, cloud providers, software companies, and other organizations. Contributors improve scheduling, filesystems, networking, security, hardware support, virtualization, and many other parts of the kernel.

Kernel development produces numbered releases containing new features, hardware support, fixes, and security improvements. Some kernel versions are selected as long-term support releases. They receive maintenance for an extended period and are useful when a system values stability and predictable support over adopting every new feature immediately. A distribution may select, modify, configure, and support particular kernel versions for its own release.

Where Linux is used

Linux is adaptable because it can run on small devices, powerful servers, and large clusters. Common uses include:

  • Desktops and laptops: browsing, office work, programming, media, education, and general-purpose computing.
  • Web servers: hosting websites, APIs, and web applications.
  • Database servers: running relational and non-relational database systems.
  • File, mail, and application servers: storing shared data, handling mail services, or providing business applications.
  • Cloud infrastructure: powering cloud virtual machines, hosting platforms, and large-scale services.
  • Virtual machines: acting as a guest operating system or helping provide the host infrastructure.
  • Containers: supplying the shared kernel for isolated application environments. A container is not a complete independent kernel; it normally shares the host Linux kernel.
  • Networking equipment: powering routers, firewalls, wireless devices, and other appliances.
  • Embedded systems: operating inside dedicated devices such as televisions, cameras, vehicles, industrial controllers, and Internet of Things products.
  • High-performance computing: supporting scientific clusters and supercomputers.
  • Mobile devices: Android uses the Linux kernel, but Android is not a typical desktop Linux distribution. It has its own application framework, user interface, system services, and device ecosystem.

Everyday examples can include a cloud virtual machine serving a website, a Wi-Fi router forwarding traffic, a smart television running its interface, a developer workstation compiling software, and an Android-based phone.

Linux interfaces and user experience

Linux is not command-line-only. Many desktop distributions provide graphical settings, file managers, software stores, web browsers, office applications, accessibility features, and media tools.

A graphical desktop environment is the collection of visual components that provides windows, menus, panels, notifications, settings, and desktop utilities. Common examples include GNOME, KDE Plasma, and Xfce. A desktop environment is separate from the Linux kernel and can often be changed without changing the underlying kernel.

A terminal is a text-based interface. It lets a user interact with a shell, which is a program that interprets typed commands and starts other command-line programs. Shells are useful for automation, administration, troubleshooting, remote access, and repeatable workflows.

For example, after opening a terminal on a Linux system, these optional orientation commands can show different layers of the system:

uname -r
cat /etc/os-release
whoami
hostnamectl
  • uname -r commonly displays the running kernel release.
  • cat /etc/os-release displays distribution identification details on many modern Linux systems.
  • whoami displays the current user identity.
  • hostnamectl displays basic system information on systems that provide that command, often those using systemd.

These commands may not be available or behave identically on every Linux-based system, especially minimal embedded systems or distributions using different system tools.

Users, groups, and permissions

Linux is designed for multiple users and concurrent processes. A user account identifies a person or service for login, file ownership, permissions, and personal settings. A group is a collection of accounts that can share access to files or resources.

Permissions are rules controlling who may read, write, or execute a file and who may perform protected system actions. A file can have an owner and an associated group, with different access rules for the owner, group members, and other users.

The root account is the administrative identity with unrestricted system privileges. Root can install system-wide software, change protected configuration, access many users’ files, and alter the system. Ordinary work should normally use a regular account. Administrative elevation should be used only for a task that requires it.

This separation is an example of least privilege: give an account or process only the access it needs. It reduces the chance that an accidental command or compromised application will damage the entire system.

For example, an ordinary user can normally edit documents in their home directory, while an administrator can install software for all users or change system-wide network settings. More detail is covered in administering groups and modifying file permissions.

Linux compared with Windows and macOS

No operating system is universally best. The appropriate choice depends on required applications, hardware, support expectations, technical skills, budget, and the intended use.

CharacteristicLinuxWindowsmacOS
Licensing and sourceMany components are open source and distributed under varied licenses; commercial support is also availablePrimarily proprietary, with Microsoft-controlled system componentsPrimarily proprietary, with Apple-controlled system components and some open-source components
Distribution modelMany distributions assemble kernels, tools, desktops, packages, and support modelsA primary Microsoft operating-system product with editions and release channelsApple distributes the operating system for supported Mac hardware
CustomizationOften highly customizable, including desktop, services, and system toolsCustomizable within Microsoft’s supported design and administration modelIntegrated and consistent experience with more limited system-level customization
Software installationRepositories and package managers are common, alongside other installation methodsApp stores, installers, and enterprise deployment tools are commonApp Store, installers, and package-management tools used by developers
Hardware supportBroad support, but compatibility can vary by device, driver, and distributionBroad commercial hardware and driver supportStrong integration with supported Apple hardware; hardware choices are more restricted
Common use casesServers, cloud, development, embedded systems, networking, supercomputing, and desktopsDesktops, business applications, gaming, and many enterprise environmentsApple desktops and laptops, creative work, development, and integrated personal computing

Linux may be attractive when control, automation, open development, server deployment, or hardware flexibility is important. Windows may be a practical choice for specific commercial applications, games, or hardware requirements. macOS may suit users who want Apple hardware and tightly integrated software. These are trade-offs, not universal advantages.

Safe ways to try Linux

You do not need to immediately replace an existing operating system. Start with a method that matches your comfort level and the importance of the computer.

MethodRisk to current systemWhat is requiredBest forLimitations
Live USB sessionLow if you choose the temporary session and do not modify disksCompatible computer, USB drive, and a Linux image written to itTesting hardware, the desktop, networking, and basic applicationsCan be slower; changes usually disappear after shutdown
Virtual machineLow when configured correctlyVirtualization software, sufficient memory and storage, and a Linux imageLearning commands, files, settings, and administration without repartitioningPerformance and hardware access may be reduced
Browser-based labVery lowWeb browser and an available online labShort command-line exercisesMay not provide a complete desktop or persistent system
Dual bootModerateDisk space, boot configuration, backups, and careful installation planningUsing Linux directly alongside an existing operating systemPartitioning and boot changes introduce complexity
Spare computerLow to moderate for your main computerA separate computer and installation mediaHands-on learning with real hardwareRequires extra hardware and may expose compatibility issues

Before installing to a disk, back up important files and verify that the backup can be restored. Check hardware compatibility, available storage, firmware or boot settings, graphics and wireless support, and whether required applications work on the chosen distribution. A live USB or virtual machine is usually a safer first step than replacing an existing installation.

For a guided installation path, see installing Ubuntu. Understanding disk partitioning is also useful before changing a computer’s storage layout.

Common points of confusion

“Linux” and a distribution are the same thing

They are related but not identical. Ubuntu, Fedora, Debian, Arch Linux, and Red Hat Enterprise Linux are distributions. Linux, technically, is the kernel they use. The distribution adds the packaging, tools, defaults, applications, and support model that make the system practical to install and use.

Linux always requires commands

Desktop distributions provide graphical interfaces, file managers, browsers, software stores, and settings applications. The terminal is an additional interface, not a requirement for every task. Servers and advanced administration often use the command line because it is efficient and easy to automate.

Every distribution works identically

Shared concepts do not eliminate differences. Package managers, package formats, desktop defaults, administrative tools, release schedules, repositories, and support periods can vary. Instructions for one distribution may need adjustment on another.

Open source means no support

Open-source projects may have extensive documentation and community assistance, and some vendors provide paid support, certifications, update policies, and service agreements. Support is a project or vendor offering, not a consequence of proprietary licensing alone.

Root should be used for ordinary work

Root has broad authority. Using a regular account for daily work and elevating privileges only when necessary follows least-privilege principles and helps limit accidental or malicious changes.

What to remember

  • Linux is technically a free and open-source kernel.
  • The kernel manages hardware and provides essential services to applications.
  • A distribution is a complete operating system packaged around the Linux kernel.
  • GNU software, system libraries, services, package managers, desktops, shells, and applications surround the kernel in many systems.
  • Distributions differ in goals, defaults, packages, release models, and support.
  • Linux is developed collaboratively by a global community and organizations, with regular kernel releases and some long-term support releases.
  • Linux can provide either a graphical desktop or a command-line workflow, and many systems provide both.
  • User accounts, groups, permissions, and root help Linux support multiple users and safer administration.
  • Linux runs on desktops, servers, cloud systems, containers, networking equipment, embedded devices, supercomputers, and the Linux kernel used by Android.
  • Use backups, compatibility checks, live sessions, or virtual machines before modifying an existing computer.

Next steps

After learning the basic model, continue with essential Linux commands, useful terminal commands, and creating a user. Later topics such as package management, the Linux filesystem, networking, and security will build on the distinction between the kernel, the distribution, and the applications running above them.