Learning Objectives
- Understand what Linux is.
- Learn the difference between UNIX, GNU and Linux.
- Understand why Linux dominates enterprise environments.
- Learn the history behind Linux.
- Prepare for Linux Architecture in the next section.
- Understand common Linux terminology used throughout this course.
Prerequisites
No previous Linux experience is required. You need basic computer literacy and a willingness to use a terminal. Later chapters introduce networking, storage and shell scripting step by step.
1. Introduction
Linux is one of the most important operating systems in the world. It powers web servers, enterprise databases, cloud platforms, supercomputers, networking devices, embedded systems and even Android smartphones.
Unlike many commercial operating systems, Linux is open source, allowing anyone to study, modify and improve its source code. Because of its reliability, security and flexibility, Linux is the standard OS for servers, cloud platforms, and enterprise infrastructure.
Today Linux underpins most servers, cloud platforms, containers, and enterprise systems — including IBM Power.
2. What is Linux?
Linux is technically a kernel, not a complete operating system. The kernel is the core software that communicates directly with hardware and manages critical system resources such as CPU scheduling, memory, storage devices, networking and security.
To create a complete operating system, the Linux kernel is combined with utilities from the GNU Project, libraries, package managers, desktop environments and user applications. This complete operating system is commonly called GNU/Linux, although most people simply refer to it as Linux.
| Component | Purpose |
|---|---|
| Kernel | Manages hardware, memory, CPU, storage and networking. |
| Shell | Provides a command-line interface for users. |
| Filesystem | Stores and organizes files and directories. |
| Applications | Programs such as editors, browsers and databases. |
The layered stack is shown in detail under Linux Architecture below.
3. Why Learn Linux?
Linux skills help whether you administer servers, support IBM Power and AIX environments, or work with cloud and automation tooling. Most enterprise platforms either run on Linux or integrate closely with it.
Learning the command line and core OS concepts here gives you a practical foundation for later topics — filesystems, services, networking and storage — without needing a specific job title first.
| Technology | Uses Linux? |
|---|---|
| Public cloud VMs | Yes (commonly) |
| Containers | Yes |
| Oracle Database / SAP | Often on Linux |
| IBM Power Systems | Yes (AIX & Linux) |
4. History of Linux
Understanding Linux history helps explain why modern Linux systems are built the way they are today. Linux was not developed from scratch in isolation. It evolved from decades of innovation beginning with UNIX and later the GNU Project.
UNIX (1969)
UNIX was developed at Bell Labs by Ken Thompson and Dennis Ritchie. It introduced many concepts that are still used today, including hierarchical filesystems, multitasking and multi-user computing.
GNU Project (1983)
Richard Stallman started the GNU Project with the goal of creating a completely free UNIX-like operating system. The project successfully developed compilers, editors, shells and many essential utilities—but it still lacked a working kernel.
Linux Kernel (1991)
In 1991, Finnish computer science student Linus Torvalds developed a new kernel as a personal project. When combined with GNU software, it became the operating system we now know as Linux.
1969
│
├── UNIX
1983
│
├── GNU Project
1991
│
├── Linux Kernel
1992
│
├── GNU + Linux
Today
│
└── Servers • Cloud • Enterprise
5. Linux Architecture
Linux follows a layered architecture where each layer has a specific responsibility. This modular design makes Linux stable, secure and easy to maintain. Applications do not talk to hardware directly. They call system libraries, which issue system calls (syscalls) into the Linux kernel; the kernel then manages the hardware. The shell is one way users start programs from a terminal — not a required hop for every application.
+----------------------------------+
| User Applications |
| (GUI apps, daemons, CLI tools) |
+----------------------------------+
│ │
│ (interactive) │ (typical path)
▼ ▼
+------------------+ +------------------+
| Shell | | System Libraries |
| (bash, etc.) | | (glibc, etc.) |
+------------------+ +------------------+
│ │
└────────┬───────────┘
▼
+------------------+
| System Calls |
+------------------+
│
▼
+----------------------------------+
| Linux Kernel |
+----------------------------------+
│
▼
+----------------------------------+
| CPU • Memory • Disk • NIC |
| Hardware |
+----------------------------------+
For example, when you type ls in a terminal, the shell starts the ls program. That program uses libraries and syscalls to ask the kernel for directory entries; the kernel reads the filesystem and returns the results, which ls then prints to your terminal.
Architecture Components
| Layer | Responsibility |
|---|---|
| User Applications | Programs such as Firefox, MySQL, Apache and Vim. |
| Shell | Command interpreter for interactive use; starts programs when you type commands. |
| System Libraries | Provide standard functions; wrap syscalls used by applications (and by the shell). |
| Kernel | Controls hardware and manages system resources. |
| Hardware | CPU, RAM, Storage, Network Interface Cards and peripherals. |
6. Linux Kernel
The kernel is the heart of Linux. It starts during system boot and remains in memory until the system is powered off. Every hardware device communicates with users through the kernel. Without the kernel, applications cannot access the processor, memory, storage devices or network interfaces.
Main Responsibilities of the Kernel
| Component | Function |
|---|---|
| Process Management | Creates, schedules and terminates processes. |
| Memory Management | Allocates RAM and manages virtual memory. |
| Device Drivers | Controls hardware devices such as disks and network adapters. |
| Filesystem Management | Provides access to files and directories. |
| Networking | Handles TCP/IP communication and routing. |
| Security | Enforces permissions and access control. |
7. What is a Shell?
The shell is a command interpreter that provides the interface between the user and the Linux kernel. Whenever you type a command, the shell interprets it and requests the kernel to perform the required operation.
User ──► Command ──► Shell ──► Kernel ──► Hardware
This diagram shows the interactive CLI path: typed commands go through a shell. Graphical apps and many daemons talk to the kernel through libraries and system calls without a shell in the middle (see the architecture section above).
Popular Linux Shells
| Shell | Description |
|---|---|
| Bash | Default shell on most Linux distributions. |
| Korn Shell (ksh) | Popular in enterprise UNIX environments including AIX. |
| Zsh | Advanced interactive shell with plugins. |
| Fish | User-friendly shell with auto suggestions. |
| Tcsh | Enhanced C Shell. |
Useful Commands
# Login shell (from your account settings)
echo $SHELL
# Current shell process (this session)
echo $0
ps -p $$ -o comm=
# List installed shells
cat /etc/shells
# Change login shell
chsh
8. CLI vs GUI
Linux systems can be managed using either a Command Line Interface (CLI) or a Graphical User Interface (GUI). While both perform the same tasks, enterprise administrators overwhelmingly prefer the command line.
| GUI | CLI |
|---|---|
| Mouse-driven | Keyboard-driven |
| Easy for beginners | Powerful and fast |
| Consumes more resources | Lightweight |
| Difficult to automate | Easy to automate using scripts |
| Requires graphical UI | Works remotely over SSH |
9. Linux Distributions
A Linux distribution combines the Linux kernel with system utilities, package managers, libraries and applications. Different distributions are designed for different purposes such as desktop computing, enterprise servers or software development.
| Distribution | Based On | Typical Usage |
|---|---|---|
| Ubuntu | Debian | Desktop, Cloud |
| Debian | Independent | Stable Servers |
| Red Hat Enterprise Linux (RHEL) | Fedora (upstream) | Enterprise |
| Rocky Linux | RHEL | Enterprise |
| AlmaLinux | RHEL | Enterprise |
| Fedora | Independent (upstream of RHEL) | Latest Technologies |
| Oracle Linux | RHEL | Oracle Workloads |
| openSUSE | Independent | Desktop & Enterprise |
10. Why Enterprises Prefer RHEL-Based Linux
Although Ubuntu is popular among developers, many enterprise organizations choose Red Hat Enterprise Linux (RHEL) or compatible distributions such as Rocky Linux and AlmaLinux.
- Long-term support (LTS)
- Vendor support
- Security updates
- Certified hardware compatibility
- Enterprise software certification
- Stable release lifecycle
- Professional technical support
- Mandatory access control frameworks such as SELinux (RHEL family) or AppArmor (common on Ubuntu) that enforce policy beyond Unix DAC permissions — check status with
getenforceoraa-status
Try These Commands
Open a terminal and run a few orientation commands:
uname -a # kernel and system info
whoami # current user
hostname # system hostname
echo $SHELL # your login shell
echo $0 # current shell process name
Commands Covered
uname— print kernel and system informationwhoami— print the current userhostname— show the system hostnameecho $SHELL— show the login shellecho $0/ps -p $$ -o comm=— show the current shell processcat /etc/shells— list installed shellschsh— change the login shell