← pushpjeet.com · TutorialsCheat sheet
Hands-on course19 modulesapt & dnfBeginner → intermediate

Linux from Scratch: A Practical Command-Line Course

This is a hands-on Linux course for people who need the terminal to be second nature — whether you are heading into DevOps, cloud, data, or AI/ML work on Linux hosts. Every module is original teaching material written for pushpjeet.com. Labs use neutral usernames and generic distros. Oracle Linux may appear only as one RHEL-compatible option you might see at work — never as copied vendor training text.


Who this is for#

  • Absolute beginners who have never opened a Linux terminal
  • Developers, QA, and IT newcomers who need practical CLI literacy
  • Learners building toward sysadmin / DevOps fundamentals

Not (yet) for: kernel developers, deep SELinux policy work, or full certification dumps.


How the course is organised#

Band Modules Focus
Orientation & foundations M0–M6 What Linux is, CLI, paths, viewing files, create/copy/delete, links & search
Editor & shell power M7–M11 vim, expansions, redirection/pipes, variables/history, startup files
Admin core M12–M13 Permissions & umask; processes & signals
Scripting & transfer M14–M15 Shell scripts; tar/gzip; scp/rsync
Expansion M16–M18 Packages (apt and dnf); users/groups; networking basics

Module table#

Module Title Link
M0 Course orientation Open module
M1 What Linux is (history & structure) Open module
M2 Accounts, login, and first commands Open module
M3 Paths, directories, and listing Open module · Interactive quiz
M4 Viewing and comparing file content Open module
M5 Creating, copying, moving, deleting Open module
M6 Links, globs, find/grep Open module
M7 Text editing with vim Open module
M8 Bash expansions and globs Open module
M9 Redirection, pipes, and quoting Open module
M10 Variables, history, and line editing Open module
M11 Shell startup files Open module
M12 Permissions, ownership, umask Open module
M13 Processes and signals Open module
M14 Intro shell scripting Open module
M15 Archives and remote copy Open module
M16 Software packages (apt & dnf) Open module
M17 Users and groups (admin lite) Open module
M18 Networking basics Open module

Companion: Student command cheat sheet · M3 interactive quiz


How interactive exercises work#

Each full module includes at least two of these patterns (markdown now; site widgets later):

Type What you do Best for
MCQ Pick one option; read a short explanation Concepts
Flashcards Mentally flip term ↔ meaning Command vocabulary
Match-column Pair command ↔ purpose or flag ↔ effect Flags and tools
Fill-blank Complete a command line Muscle memory
Order-the-steps Put a procedure in order Workflows
Mini terminal Run tasks on your own Linux Real practice

Sample interactive page: open interactive/m03-paths-quiz.html — one self-contained HTML page (MCQ + match + flash flip) with vanilla JS only, no CDN, original questions about paths/ls. Try it on the interactive page, or continue with Module 3.


Lab environment setup#

Pick one disposable environment. Do not practice userdel or blind apt remove on your only work laptop.

Option A — Virtual machine (VirtualBox / VMware / UTM)#

  1. Download an Ubuntu LTS or Fedora Workstation ISO.
  2. Create a VM with ≥2 GB RAM, 20 GB disk.
  3. Install, create user student, enable SSH if you want a second “host”.
  4. Snapshot before M16–M17 experiments.

Option B — WSL2 (Windows)#

wsl --install -d Ubuntu

Open the Ubuntu terminal; your home is Linux. Good for M0–M15; user-creation labs are limited — use a cloud VM for M17 if needed.

Option C — Cloud Linux (AWS Lightsail / EC2, Azure, GCP)#

  1. Launch a free-tier or small Ubuntu/Debian or Amazon Linux / RHEL-family instance.
  2. SSH in with your key.
  3. Stop or snapshot when idle.

Amazon Linux / RHEL-family → practice the dnf column in M16. Ubuntu/Debian → apt.

Shared lab path used in drafts#

mkdir -p /tmp/linux-lab-pushpjeet
cd /tmp/linux-lab-pushpjeet

Modules create m14/, m15/, … underneath. /tmp is wiped on reboot — fine for demos; keep real notes in your home directory.


Connection to AI / ML / AWS content on this site#

Linux is the substrate under almost every cloud GPU box and RAG demo:

  • SSH, scp, and tar (M15) move code and datasets onto training hosts.
  • Permissions and processes (M12–M13) matter when jobs run as service users.
  • Packages (M16) install python3, git, CUDA-side tools (distro-dependent), and CLIs.
  • Networking (M18) is how you verify that an instance can reach model APIs or object storage.

Follow this course, then jump into the AI/ML and AWS tutorials with less friction at the shell.


This course hub, modules M14–M18, the student cheat sheet, and the sample interactive HTML are original material by Pushpjeet Cholkar for pushpjeet.com.

  • Zero Oracle copyrighted wording, slide prose, diagram captions, logos, or lab hostnames from vendor decks.
  • Public pages use rewritten learning goals, standard Linux commands, and original quizzes.
  • Distro names (Ubuntu, Fedora, Debian, RHEL-family, Oracle Linux as one option) appear only as factual choices.

© Pushpjeet Cholkar / pushpjeet.com. All rights reserved for the original prose and exercise design unless a page states otherwise.


FAQ (short)#

Do I need Oracle Linux? No. Any modern Linux works.
apt or dnf? Both are taught side by side in M16.
Can I skip vim? Skim M7 at least — it appears on servers where your IDE is not installed.
Where are the full lessons? Use the module table above — M0 through M18 are linked from this hub.