Linux Terminal Course

A comprehensive, hands-on Linux terminal course — from absolute beginner to advanced user. Every lesson includes copy-pasteable commands and real-world examples.


Course Overview

# Lesson Level Topics
01 Navigation Basics Beginner pwd, ls, cd, directory structure
02 File Operations Beginner touch, mkdir, cp, mv, rm, ln
03 Viewing & Reading Files Beginner cat, less, more, head, tail, wc, diff
04 Text Editors Beginner nano, vim basics
05 Getting Help Beginner man, whatis, which, whereis, --help
06 Input & Output — echo Beginner echo, colored output, special characters
07 Users & Permissions Intermediate sudo, chmod symbolic & octal, chown
08 User & Group Management Intermediate useradd, userdel, groupadd, passwd, groups
09 Search & Find Intermediate find, locate, grep, which, whereis
10 Text Processing Intermediate sort, cut, tr, sed, awk, uniq
11 System Information Intermediate uname, date, cal, uptime, free, lscpu, watch
12 Disk & Storage Intermediate df, du, ncdu, lsblk, mount
13 Package Management Intermediate apt, nala, snap, flatpak, Homebrew
14 Process Management Advanced ps, top, htop, btop, kill, signals, jobs
15 Archives & Compression Advanced tar, gzip, zip, unzip
16 Pipes, Redirection & Chaining Advanced |, >, >>, tee, xargs, &&, ||
17 Shell Configuration Advanced .bashrc, .zshrc, aliases, $PATH, prompt customization
18 Networking & SSH Advanced ping, curl, ssh, scp, rsync, ss
19 Advanced Tools & Power User Advanced shred, history, time, bat, lsd, tmux, Midnight Commander

How to Use This Course

  1. Follow the lessons in order — each one builds on the previous
  2. Copy and paste the commands into your terminal to practice
  3. Read the explanations to understand why a command works
  4. Try the exercises at the end of each lesson
  5. Use a virtual machine or WSL if you don't have a Linux system

Prerequisites

  • A Linux system (Ubuntu/Debian recommended), WSL on Windows, or a virtual machine
  • A terminal emulator
  • No prior Linux experience required — we start from zero

Quick Reference

The Linux Filesystem Hierarchy

/
├── bin/        Essential user binaries (ls, cp, mv...)
├── boot/       Boot loader files
├── dev/        Device files
├── etc/        System configuration files
├── home/       User home directories
│   └── user/   Your personal files
├── lib/        Shared libraries
├── media/      Removable media mount points
├── mnt/        Temporary mount points
├── opt/        Optional/third-party software
├── proc/       Process and kernel info (virtual)
├── root/       Root user home directory
├── sbin/       System binaries
├── srv/        Service data
├── sys/        System devices (virtual)
├── tmp/        Temporary files
├── usr/        User programs and data
│   ├── bin/    User binaries
│   ├── lib/    Libraries
│   └── share/  Shared data
└── var/        Variable data (logs, caches)
    ├── log/    Log files
    └── tmp/    Temporary files (persistent)