🚧 Under construction — VoTechWorks is being built. A free tech program — complimentary, as our commitment to get America working.
voTechWorksGrade 13 · a vocational technology learning center, by urbanicity
newSchoolWorks.com › VoTechWorks › Technology & Design › Web & Software Development › Linux/Bash for Web & Software Development › Lesson 1
TEC-WEB46-06 · Lesson 1 · 10 clock hours · theory

Linux Landscape: History, Distributions, and the Shell

Objective. Students will explain the role of the Linux kernel, common distributions, and the purpose of the shell in a web development context.

⚠ Pending professional review

This lesson, its worked examples and its practice questions has not yet been verified by an industry-certified professional or by a certification or approval body. It is a study draft and may contain errors. Do not use it as instructions for work on a job site or on live equipment. Always follow your instructor, your supervising professional, and current official references and regulations.

VoTechWorks program approval and accreditation are still in progress. Credentials are issued only by the certifying bodies named in each program, after their own exams.

The Linux Kernel: The Core of the Operating System

Linux began in 1991 when Linus Torvalds, a Finnish computer science student, released the first version of a free, Unix-like kernel. A kernel is the lowest layer of an operating system. It manages hardware resources — the CPU, memory, storage, and network interfaces — and provides a controlled interface so that programs can use those resources without directly touching the hardware. Every Android phone, most web servers, and a large share of cloud infrastructure runs on the Linux kernel today.

The kernel alone is not a usable system. You cannot sit down at a bare kernel and write a Python script. That is why distributions exist.

Distributions: The Full Package

A Linux distribution (distro) bundles the kernel with a set of software: a bootloader, system libraries, package manager, command-line utilities, and often a graphical desktop. The same kernel version can appear in many different distributions, each making different choices about default software, release schedules, and intended audience.

Four distributions appear most often in professional web and software development work:

Choosing a distro depends on context: Ubuntu and Debian suit most web development and server work; CentOS Stream or RHEL-compatible systems are common in large enterprise data centers; Fedora suits developers who need recent tooling on a desktop.

The Desktop Environment vs. the Kernel

Between the kernel and the user sits a desktop environment (DE) — software such as GNOME, KDE Plasma, or Xfce that draws windows, handles mouse input, and provides a file manager. Desktop environments are entirely optional. Production web servers almost always run headless (no graphical interface) to save memory and reduce the attack surface. You administer them entirely through the shell.

The Shell: Your Primary Tool

A shell is a program that reads commands you type, interprets them, and passes instructions to the kernel. When you open a terminal window on Ubuntu, you are running a shell. The most common shell in Linux today is Bash (Bourne Again SHell). Other shells include Zsh (the macOS default since Catalina), Fish, and the original sh (POSIX shell). CompTIA Linux+ tests knowledge of Bash and sh scripting.

In a web development context, the shell is essential for:

Understanding which shell is active matters because syntax differs between Bash and sh. The command `echo $SHELL` prints the path of your current shell. The file `/etc/shells` lists every shell installed on the system.

Identifying Your System: Key Commands

Three methods let you confirm exactly which kernel and distribution you are running — information you will need when reading documentation, filing bug reports, or configuring software:

1. `uname -r` — Prints the running kernel release version (for example, `5.15.0-91-generic`).

2. `lsb_release -a` — Prints distribution information including the distributor ID, description, release number, and codename. Requires the `lsb-release` package, which Ubuntu installs by default.

3. `cat /etc/os-release` — Reads a plain-text file that all modern systemd-based distributions include. It contains standardized fields such as `NAME`, `VERSION_ID`, and `PRETTY_NAME`. This method works even when `lsb_release` is not installed.

Safety and Professional Responsibility

Linux commands operate with precision — a mistyped command can delete files or change permissions across an entire server. Two professional habits protect you and your team:

These habits carry directly into the Linux+ exam objectives, which test your ability to explain what commands do — not just memorize syntax.

Key terms9

KernelThe core component of an operating system that manages hardware resources and provides services to all other software running on the system.
Linux distribution (distro)A complete operating system package that combines the Linux kernel with a package manager, system libraries, utilities, and optionally a desktop environment.
ShellA command-line interpreter that accepts user input, interprets it, and passes instructions to the operating system kernel; Bash is the most common Linux shell.
BashBourne Again SHell — the default interactive shell on most Linux distributions and the primary scripting language tested by CompTIA Linux+.
Long-Term Support (LTS)A release designation used by Ubuntu (and others) indicating that the vendor commits to providing security and maintenance updates for an extended period, typically five years.
Desktop environmentOptional graphical software layer (such as GNOME or KDE) that provides windows, icons, and mouse-driven interaction; absent on most headless servers.
Package managerA tool that automates the installation, update, and removal of software packages; Ubuntu and Debian use apt, while Fedora and CentOS Stream use dnf.
unameA Linux command that prints system information; the -r flag displays the current kernel release version string.
/etc/os-releaseA standardized plain-text configuration file present on modern Linux systems that contains distribution name, version, and other identification fields.
In class: Guided reading of the Linux Foundation's 'Introduction to Linux' chapter on kernel vs. distribution vs. desktop environment; students annotate a comparison table of Ubuntu, Debian, CentOS Stream, and Fedora. · Instructor-led demo: boot a VirtualBox Ubuntu 22.04 LTS VM, identify version with 'uname -r' and 'lsb_release -a', then locate the same information in /etc/os-release. · Small-group discussion: map each distro to a real-world use case (web server, desktop dev, embedded); groups present a one-slide summary and field questions.
Materials: VirtualBox 7.x, Ubuntu 22.04 LTS ISO, CompTIA Linux+ Study Guide (Sybex), projector, student VMs
Check: Exit ticket: students answer five short-answer questions identifying kernel version commands, distro differences, and shell types; 80% correct to pass.

Practice check8

Answer each question, then check it. Nothing is recorded; this is your own practice.

CompTIA Linux+ - System Management
1. A student types `uname -r` on an Ubuntu 22.04 LTS server and sees output beginning with `5.15.0`. What information does this output represent?
CompTIA Linux+ - System Management
2. Which file can a Linux administrator read to identify the distribution name and version even when the `lsb_release` command is not installed?
CompTIA Linux+ - System Management
3. A development team is deploying a web application to a large enterprise data center that standardizes on Red Hat Enterprise Linux compatibility. Which distribution is the best community match for that requirement?
CompTIA ITF+ - IT Concepts and Terminology
4. What is the primary function of the Linux kernel?
CompTIA Linux+ - Scripting, Containers, and Automation
5. Which command prints the path of the shell currently active in a terminal session?
CompTIA Linux+ - System Management
6. A web server is described as running 'headless.' What does this mean in a Linux context?
CompTIA Linux+ - System Management
7. Ubuntu 22.04 LTS and Debian share which of the following characteristics?
CompTIA Linux+ - System Management
8. Before running an unfamiliar Linux command on a practice virtual machine, which action best reflects safe professional practice?
Record this lesson on my transcript. Sign in with your key and enrollment email to record lessons (enroll free if you have no key). This page stays open to read and practise.