Welcome to the Linux World
Linux is an open-source, Unix-like operating system kernel first released by Linus Torvalds in 1991. Today it powers everything from Android phones and smart appliances to the majority of web servers, cloud platforms, and the world’s fastest supercomputers. Learning Linux is one of the highest-return investments you can make in a technology career.
This guide is designed for complete beginners. We will walk through what Linux actually is, why it matters, how to get started, and the fundamental commands you need to become productive on the command line.
What Is Linux?
Technically, Linux refers to the kernel — the core component that manages hardware resources, processes, memory, and device communication. A complete operating system built around the Linux kernel is called a distribution (or distro). Popular distributions include:
- Ubuntu — Beginner-friendly, massive community, ideal first distro.
- Fedora — Cutting-edge features, backed by Red Hat.
- Debian — Rock-solid stability, foundation of Ubuntu.
- CentOS Stream / AlmaLinux / Rocky Linux — Enterprise-grade RHEL rebuilds, perfect for server environments.
- Arch Linux — Rolling release, build it yourself, great for learning internals.
- openSUSE — Strong YaST administration tool, enterprise pedigree.
Why Learn Linux?
- Career demand — Over 90% of cloud infrastructure runs Linux. Nearly every DevOps, SRE, and backend engineering role requires Linux proficiency.
- Free and open source — No licence fees, full source code access, freedom to modify and redistribute.
- Security — Strong permission model, rapid security patches, transparent code auditing.
- Stability — Linux servers routinely achieve years of uptime.
- Customisation — From desktop environments to kernel parameters, everything is configurable.
Getting Started: Installation Options
Option 1: Virtual Machine (Safest)
# Install VirtualBox (free) or VMware Workstation Player
# Download Ubuntu Server or Desktop ISO
# Create a VM with 2 CPU cores, 4 GB RAM, 25 GB disk
# Mount the ISO and follow the installer
Option 2: Windows Subsystem for Linux (WSL)
# In PowerShell (Admin):
wsl --install
# This installs Ubuntu by default
# Launch from Start menu → "Ubuntu"
Option 3: Dual Boot
Install Linux alongside Windows. The GRUB bootloader lets you choose at startup. Back up your data first.
Option 4: Live USB
# Download an ISO and write it to USB
# On Linux:
sudo dd if=ubuntu-24.04-desktop-amd64.iso of=/dev/sdX bs=4M status=progress
# On Windows: use Rufus or balenaEtcher
The Terminal: Your Command Centre
The terminal (also called shell, console, or command line) is where the real power of Linux lives. The default shell on most distributions is Bash (Bourne Again SHell).
# Open a terminal and try these commands:
# Who am I?
whoami
# Where am I?
pwd
# What is here?
ls -la
# System information
uname -a
# Current date and time
date
Essential Commands for Beginners
Navigation
# Change directory
cd /var/log
# Go home
cd ~
# Go up one level
cd ..
# List files with details
ls -lah
File Operations
# Create a file
touch myfile.txt
# Create a directory
mkdir myproject
# Copy files
cp source.txt destination.txt
# Move / rename
mv oldname.txt newname.txt
# Remove a file
rm unwanted.txt
# Remove a directory
rm -r old-directory/
Reading Files
# Display entire file
cat /etc/hostname
# Page through a long file
less /var/log/syslog
# First 20 lines
head -20 /var/log/syslog
# Last 20 lines (follow live)
tail -20f /var/log/syslog
Permissions
# View permissions
ls -l myfile.txt
# -rw-r--r-- 1 user group 0 Feb 25 10:00 myfile.txt
# Change permissions (owner: read+write+execute)
chmod 755 myscript.sh
# Change ownership
sudo chown user:group myfile.txt
Package Management
# Debian/Ubuntu (apt)
sudo apt update && sudo apt upgrade -y
sudo apt install nginx
# RHEL/Fedora/Oracle Linux (dnf)
sudo dnf update -y
sudo dnf install httpd
# Arch (pacman)
sudo pacman -Syu
sudo pacman -S nginx
Understanding the Linux File System
/ Root of the entire filesystem
├── /bin Essential user binaries (ls, cp, mv)
├── /boot Boot loader files, kernel
├── /dev Device files
├── /etc System configuration files
├── /home User home directories
├── /lib Shared libraries
├── /opt Optional/third-party software
├── /proc Virtual filesystem for process info
├── /root Root user home directory
├── /sbin System binaries (fdisk, iptables)
├── /tmp Temporary files
├── /usr User programs and data
└── /var Variable data (logs, databases, mail)
Next Steps
- Learn grep, find, and sed — covered in our other tutorials.
- Understand systemd service management (
systemctl). - Set up SSH for remote access.
- Explore shell scripting with Bash.
- Try Docker for containerised applications.
Linux rewards curiosity. The more you use the terminal, the more natural it becomes. Start small, break things in a VM, read the manual (man command), and build from there.