Part 01 - Getting Started with Linux

Part 01 - Getting Started with Linux

Getting Started with Linux

Part 1 of 8 — Linux Zero-to-Hero Series

Version 2026.R2
Real-World Scenario

A junior developer was tasked with deploying a Python app to AWS EC2. They had only ever used Windows with a GUI. When the SSH terminal appeared — no desktop, no file explorer, just a blinking cursor — they froze. They could not navigate directories, install packages, or start a service. The deploy failed, and the team lost a full sprint day. If they had spent one afternoon learning Linux basics, that deploy would have taken 20 minutes.

Linux powers over 96% of the world's top web servers, runs every Android phone, and is the backbone of cloud computing. Whether you're a developer, sysadmin, or aspiring DevOps engineer, understanding Linux is no longer optional — it's essential. This guide takes you from zero knowledge to your first confident terminal session.

1. What is Linux?

Linux is a free, open-source operating system kernel created by Linus Torvalds in 1991. Unlike Windows or macOS, Linux is developed collaboratively by thousands of contributors worldwide and is available to everyone at no cost.

The Origin Story

In 1991, a 21-year-old Finnish student named Linus Torvalds posted a message on Usenet: "I'm doing a (free) operating system (just a hobby, won't be big and professional)." That hobby became the most widely deployed operating system in history.

Open Source Philosophy

Linux is licensed under the GNU General Public License (GPL). This means anyone can view, modify, and distribute the source code. This openness has created a massive ecosystem of distributions, tools, and communities.

Key Distinction

Technically, "Linux" refers only to the kernel — the core that manages hardware, memory, and processes. When people say "Linux," they usually mean a Linux distribution (distro) which bundles the kernel with a shell, package manager, desktop environment, and thousands of utilities. The full system is sometimes called GNU/Linux.

Thought Experiment

What if graphical user interfaces (GUIs) had never been invented? How would you interact with your computer? Every action — opening files, browsing the web, editing photos — would require typed commands. This is exactly how early computers worked, and it is still how servers operate today. The command line is not a relic; it is the most efficient interface for power users. In Linux, the CLI is more fundamental than the GUI — servers run without any graphical interface at all, and many system tools are command-line-first.

A Brief Timeline

YearMilestone
1969Unix created at AT&T Bell Labs by Ken Thompson & Dennis Ritchie
1983Richard Stallman launches the GNU Project for free software
1991Linus Torvalds releases the first Linux kernel (v0.01)
1993Debian and Slackware — first major distros emerge
2004Ubuntu launches, making Linux accessible to mainstream users
2008Android (built on Linux) released, now on 3B+ devices
2016Microsoft introduces WSL (Windows Subsystem for Linux)
2024Linux runs 96%+ of top web servers and all top 500 supercomputers

2. Why Linux Matters for Developers

If you're building software professionally, you will encounter Linux. Here's why it dominates:

96%+ of Web Servers

Apache, Nginx, and virtually all production servers run Linux. If you deploy a web app, it lands on Linux.

Cloud Computing Standard

AWS, Azure, and GCP all default to Linux instances. Kubernetes, Docker, and most DevOps tools are Linux-native.

DevOps & CI/CD

Jenkins, GitHub Actions, GitLab CI — all run on Linux. Understanding Linux is a prerequisite for any DevOps role.

Android = Linux

Every Android device runs a modified Linux kernel. That's 3+ billion devices worldwide.

Challenge: Open a Terminal and Run 5 Basic Commands

Open a terminal (WSL, VM, or native Linux) and run these five commands: whoami, pwd, ls, date, and uname -a. Write down what each one returns. Understanding what these commands do is your first step to Linux fluency.

Career Tip

LinkedIn data consistently shows that Linux skills are among the top 10 most in-demand tech skills. Even if you develop on macOS or Windows, production environments are almost always Linux.

3. Linux vs Windows vs macOS

Each operating system has strengths. Here's an honest comparison:

Feature Linux Windows macOS
CostFree$139+ license (typically preinstalled via OEM)Free (with Apple hardware)
Source CodeOpen sourceProprietaryMostly proprietary
Server Market Share96%+~4%<1%
Desktop Market Share~4%~72%~16%
Package Managerapt, yum, dnf, pacmanwinget, chocolateyHomebrew
Terminal PowerNative, extremely powerfulPowerShell, WSLNative Unix terminal
CustomizationEverything configurableLimitedLimited
Hardware SupportBroad (some driver issues)ExcellentApple hardware only
GamingImproving (Steam/Proton)BestLimited
Security ModelStrong (permissions-based)ImprovingStrong (Unix-based)
Mental Model

The terminal is like texting vs calling. A GUI is like a phone call — interactive, immediate, but no record of what was said. The terminal is like texting — faster for quick tasks, scriptable (you can copy-paste and automate), and you have a permanent record of everything you did. That is why servers use terminals: every action is logged, reproducible, and automatable.

Bottom Line

You don't have to choose one exclusively. Many developers use macOS or Windows as their desktop OS while deploying to Linux servers. WSL2 lets Windows users run a full Linux environment natively.

4. Linux Distributions Explained

A distribution (distro) packages the Linux kernel with a specific set of tools, package manager, and desktop environment. There are hundreds of distros, but here are the ones that matter most:

🍨

Ubuntu

Debian-based • apt
  • Most popular desktop Linux
  • Huge community & docs
  • LTS releases every 2 years
  • Great for beginners
Best For: Beginners & General Use
⚙️

Fedora

Red Hat family • dnf
  • Cutting-edge packages
  • Sponsored by Red Hat
  • GNOME default desktop
  • Upstream for RHEL
Best For: Developers & New Tech
💫

Debian

Independent • apt
  • Rock-solid stability
  • Foundation for Ubuntu
  • Huge package repository
  • Community-driven
Best For: Servers & Stability
🏘️

Arch Linux

Independent • pacman
  • Rolling release model
  • Build your system from scratch
  • Exceptional wiki & docs
  • AUR package access
Best For: Advanced Users & Learning
🏙️

RHEL / Rocky / Alma

Enterprise • dnf/yum
  • Enterprise-grade support
  • 10-year lifecycle
  • Industry standard for prod
  • Certification available
Best For: Enterprise & Production
🌿

Linux Mint

Ubuntu-based • apt
  • Windows-like experience
  • Cinnamon desktop
  • Extremely beginner-friendly
  • Multimedia codecs included
Best For: Windows Migrants
Deep Dive: Linux Distributions Explained — Ubuntu vs CentOS vs Alpine +

Ubuntu is the most popular general-purpose distribution. It is based on Debian, uses the apt package manager, and has the largest community support. Ubuntu LTS (Long Term Support) releases get 5 years of security updates, making them ideal for both desktops and servers.

CentOS / Rocky Linux / AlmaLinux are enterprise-grade distributions based on Red Hat Enterprise Linux (RHEL). They use dnf/yum and are known for stability over cutting-edge features. CentOS was the dominant free enterprise distro until Red Hat shifted it to CentOS Stream (a rolling preview). Rocky Linux and AlmaLinux stepped in as 1:1 RHEL binary-compatible replacements.

Alpine Linux is a minimalist distribution designed for containers and embedded systems. Its base image is only ~5MB (compared to ~70MB for Ubuntu). It uses apk for package management and musl libc instead of glibc. Alpine is the default base for many Docker images because of its tiny footprint, but musl compatibility issues can catch beginners off guard.

DistroPackage ManagerBase Image SizeBest For
Ubuntu 24.04 LTSapt~70MBGeneral purpose, learning
Rocky Linux 9dnf~80MBEnterprise servers, RHEL compat
Alpine 3.19apk~5MBContainers, minimal footprint
Recommendation for Beginners

Start with Ubuntu LTS or Linux Mint. They have the best documentation, largest communities, and smoothest setup experience. You can always switch distros later.

5. Installing Linux

You have three main options to get started — no need to wipe your current OS:

Option A: WSL2 (Windows Users — Recommended)

Windows Subsystem for Linux gives you a full Linux terminal inside Windows. Best for developers who want Linux tools without dual-booting.

Open PowerShell as Administrator
Run: wsl --install (installs Ubuntu by default)
Restart your computer when prompted
Set your Linux username and password
You're in! Run wsl anytime to launch your Linux terminal

Option B: Virtual Machine (Any OS)

Run Linux inside a VM using VirtualBox or VMware. Great for experimentation with zero risk to your main OS.

Download VirtualBox (free) from virtualbox.org
Download an Ubuntu .iso file from ubuntu.com
Create a new VM: allocate 2+ CPU cores, 4GB+ RAM, 25GB+ disk
Mount the .iso and follow the graphical installer
Install VirtualBox Guest Additions for better performance

Option C: Dual Boot

Install Linux alongside your existing OS. You choose which to boot at startup.

Caution

Dual-booting modifies your disk partitions. Always back up important data first. If you're new to Linux, start with WSL2 or a VM instead.

6. The Linux Desktop

Unlike Windows or macOS, Linux lets you choose your desktop environment (DE). Here are the most popular options:

GNOME

Modern, clean, activity-based workflow. Default on Ubuntu and Fedora. Touch-friendly with a macOS-like dock.

KDE Plasma

Highly customizable, Windows-like layout. Feature-rich with widgets, themes, and visual effects. Great for power users.

Cinnamon

Traditional desktop with taskbar, start menu, and system tray. Default on Linux Mint. Familiar for Windows users.

XFCE

Lightweight and fast. Perfect for older hardware or VMs. Clean, no-frills experience with low resource usage.

The Terminal is King

Regardless of your desktop environment, the terminal is where real productivity happens in Linux. Most server administration, development, and automation tasks are done through the command line. Learning to love the terminal is the single most important skill in this entire series.

7. Your First Linux Commands

Open a terminal and try these fundamental commands. Each one teaches you something about how Linux works:

Who Am I?

Terminal
whoami
john

id
uid=1000(john) gid=1000(john) groups=1000(john),27(sudo)

Where Am I?

Terminal
pwd                    # Print Working Directory
/home/john

hostname               # Show machine name
dev-workstation

What's Around Me?

Terminal
ls                     # List files and directories
Desktop  Documents  Downloads  Music  Pictures

ls -la                 # Long format + hidden files
total 32
drwxr-xr-x 8 john john 4096 Mar  7 10:00 .
drwxr-xr-x 3 root root 4096 Jan 15 09:30 ..
-rw-r--r-- 1 john john  220 Jan 15 09:30 .bashrc
drwxr-xr-x 2 john john 4096 Mar  5 14:22 Desktop
drwxr-xr-x 2 john john 4096 Mar  1 08:15 Documents

Moving Around

Terminal
cd Documents           # Change to Documents directory
cd ..                  # Go up one level
cd ~                   # Go to home directory (shortcut)
cd /                   # Go to root of file system
cd -                   # Go back to previous directory

Creating and Displaying

Terminal
echo "Hello, Linux!"    # Print text to terminal
Hello, Linux!

mkdir my-project        # Create a new directory
touch notes.txt          # Create an empty file
cat notes.txt            # Display file contents

Getting Help

Terminal
man ls                  # Open the manual page for 'ls'
ls --help              # Quick help summary
whatis chmod            # One-line description of a command
chmod (1) - change file mode bits
Challenge: Identify Your Linux Distribution and Kernel Version

Run cat /etc/os-release to see your distro name and version. Then run uname -r to see your kernel version. Finally, run lsb_release -a (if available) for more details. Can you identify whether your distro is Debian-based or RHEL-based from the output?

Pro Tip

The man command is your best friend. Use man <command> to read the full documentation for any command. Press q to quit, / to search within the manual, and n to jump to the next search result.

8. Key Concepts

Hover over each card to reveal the definition. These are foundational terms you'll use throughout this series:

⚙️KernelHover to reveal
The core of the OS that directly manages hardware, memory, processes, and system calls. Linux IS the kernel — everything else is built on top of it.
🖥ShellHover to reveal
A command-line interpreter that takes your text commands and translates them into actions the kernel can execute. Bash is the most common shell. Others include Zsh, Fish, and Dash.
💻TerminalHover to reveal
The application window that hosts the shell. It's the graphical interface where you type commands. Examples: GNOME Terminal, Konsole, Windows Terminal (for WSL).
📦Package ManagerHover to reveal
A tool that automates installing, updating, and removing software. Think of it as an app store for the command line. Examples: apt (Ubuntu), dnf (Fedora), pacman (Arch).
📂DistributionHover to reveal
A complete Linux OS built by bundling the kernel with a package manager, shell, utilities, and often a desktop environment. Ubuntu, Fedora, and Arch are all distributions.
🔒Root / sudoHover to reveal
Root is the superuser account with full system access (like Administrator in Windows). sudo lets regular users execute single commands with root privileges. Never run as root permanently.
📄File SystemHover to reveal
The hierarchical structure starting at / (root). In Linux, everything is a file — directories, devices, pipes, and even processes have file representations.
🔄ProcessHover to reveal
A running instance of a program. Each process has a unique PID (Process ID). The kernel schedules processes and manages their access to CPU, memory, and I/O.
🔗PATHHover to reveal
An environment variable that tells the shell where to look for executable files. When you type a command like ls, the shell searches each directory in PATH to find it.

Knowledge Check — 10 Questions

Test your understanding of Linux fundamentals. Click an answer to check if you're right!

1. Who created the Linux kernel?
2. What does "Linux" technically refer to?
3. Which command shows your current directory?
4. What percentage of the world's top web servers run Linux?
5. Which package manager does Ubuntu use?
6. What is WSL2?
7. Which command displays the manual page for a command?
8. What does the cd ~ command do?
9. Which distro is known as the foundation of Ubuntu?
10. What is the relationship between a shell and a terminal?

10. Frequently Asked Questions

Is Linux hard to learn?+
Not at all! Modern distributions like Ubuntu and Linux Mint are as easy to use as Windows for everyday tasks. The command line takes practice, but this series will walk you through it step by step. Most people become comfortable within a few weeks of regular use.
Can I run Linux without replacing Windows?+
Absolutely! You have several options: WSL2 runs Linux right inside Windows. A virtual machine (VirtualBox) runs Linux in a window. Dual-boot lets you choose at startup. You can even run Linux from a USB drive without installing anything.
Which Linux distro should I start with?+
Ubuntu LTS is the most recommended starting point. It has the largest community, most tutorials online, and smoothest installation process. Linux Mint is great if you want a more Windows-like experience. For servers, Ubuntu Server or Rocky Linux are excellent choices.
Can I play games on Linux?+
Yes! Steam's Proton compatibility layer lets you play many Windows games on Linux. Native Linux games are growing, and services like Lutris help with game management. While not every Windows game works perfectly, the gaming experience has improved dramatically in recent years.
Do I need Linux for a developer job?+
While not every developer job requires Linux, the vast majority of backend, DevOps, cloud, and systems programming roles expect Linux proficiency. Even frontend developers benefit from understanding the Linux servers where their applications are deployed.
Is Linux really free?+
Yes! Linux is free in two ways: free as in beer (no cost) and free as in freedom (open source — you can view, modify, and distribute the code). Some enterprise distributions like RHEL charge for support and certifications, but the software itself is always available for free (via CentOS Stream, Rocky Linux, etc.).
What's the difference between Bash and Zsh?+
Both are shells (command interpreters). Bash is the default on most Linux distributions and is the industry standard for scripting. Zsh is the default on macOS and offers enhanced features like better tab completion, spelling correction, and plugin support (via Oh-My-Zsh). For learning, start with Bash — it's what you'll encounter on servers.

Common Mistakes & Gotchas

Avoid these beginner traps that waste time and cause frustration:

Choosing the Wrong Distro for the Task

Mistake: Installing Arch Linux as a complete beginner, then spending days fighting installation issues instead of learning Linux.

Fix: Start with Ubuntu LTS or Linux Mint. You can explore advanced distros after building foundational skills.

Fear of the Terminal

Mistake: Avoiding the command line and relying entirely on GUI tools. This limits your ability to work on servers, automate tasks, or follow tutorials.

Fix: Force yourself to do one task per day in the terminal. Start with navigation (cd, ls, pwd) and build from there.

Running Everything as Root

Mistake: Logging in as root or prefixing every command with sudo because "it just works." This bypasses all safety checks and can destroy your system with a single typo.

Fix: Only use sudo when a command specifically requires it. If you get "Permission denied," understand why before escalating.

Ignoring Man Pages

Mistake: Searching the internet for every command flag instead of reading the built-in documentation. Web answers can be outdated or wrong.

Fix: Run man <command> first. Man pages are always accurate for your installed version. Use /keyword to search within them.

Assessment Test — 10 Questions

Navigate through each question. Your score is tracked in real time.

1. A colleague says "I installed Linux on my server." What did they most likely install?
2. Which of the following is NOT a valid way to run Linux on a Windows machine?
3. You type ls -la and see a file starting with a dot (e.g., .bashrc). What does the dot mean?
4. What does the command cd - do?
5. Which desktop environment is known for being the most lightweight?
6. What year was the first Linux kernel released?
7. Which command creates a new empty file?
8. What is the PATH environment variable used for?
9. Which distro family uses dnf as its package manager?
10. You run sudo apt update. What does sudo do in this command?

Conclusion & Next Steps

Congratulations! You now understand what Linux is, why it matters, and have run your first commands. Here are the key takeaways:

  • Linux is the kernel — distributions bundle it with tools and a desktop to create a complete OS
  • 96%+ of servers run Linux — learning it is essential for any tech career
  • You don't need to replace Windows — WSL2, VMs, and dual-boot let you start risk-free
  • Start with Ubuntu — it has the best community support for beginners
  • The terminal is your superpower — embrace the command line early

Up next: Part 2 — Mastering the Linux File System, where you'll learn the directory hierarchy, file operations, and how to navigate like a pro.

Next in the Series

Part 2: Mastering the Linux File System

Learn the directory hierarchy, file operations, symbolic links, and mount points.

Continue to Part 2 →