Module brief#
Welcome. This module gets you ready: what the course covers, how GUI and CLI differ, and how to open a working Linux terminal so the rest of the lessons feel concrete.
Learning objectives#
By the end of this module you will be able to:
- Describe what this course covers and who it is for
- Explain the difference between a graphical desktop (GUI) and the command-line interface (CLI)
- Choose a practice environment (local VM, cloud Linux, or WSL) and open a terminal
- Read your username and hostname, and know where your home directory lives
- Follow a simple, safe practice habit for the labs ahead
1. What this course is#
Linux from Scratch on pushpjeet.com is a practical path from “I have never opened a terminal” to everyday CLI skills: navigating the filesystem, reading and editing files, managing processes, and writing small scripts later in the series.
We teach generic Linux. Commands and ideas work on Ubuntu, Debian, Fedora, and RHEL-family systems. If your workplace uses a RHEL-compatible distribution (including Oracle Linux as one option among others), the same fundamentals apply. Package managers differ by family (apt vs dnf); we call that out when it matters.
You will type real commands. Muscle memory beats memorising slides.
2. GUI vs CLI — two ways to talk to the same computer#
A GUI (graphical user interface) is windows, icons, and mouse clicks. You open a file manager, double-click a folder, drag a file.
A CLI (command-line interface) is text: you type a command, press Enter, and the shell prints a reply. The same machine sits underneath. The CLI is often faster for repeatable work, remote servers, automation, and troubleshooting when the desktop is unavailable.
Think of the shell as a precise conversation:
you type a request → the shell runs a program → the program prints results (or an error)
You do not need to abandon the GUI. Many people keep a desktop open and use a terminal application inside it.
3. Pick a practice environment#
You need a Linux user account and a terminal. Common choices:
| Option | Good when… | Notes |
|---|---|---|
| Ubuntu or Fedora VM (VirtualBox, VMware, Hyper-V) | You want a full desktop on your laptop | Snapshot before big experiments |
| Cloud Linux (a small VM from a cloud provider) | You are fine with SSH from your laptop | Use a key pair; shut down when idle to save cost |
| WSL2 on Windows | You develop on Windows and want a Linux shell quickly | Install Ubuntu from the Microsoft Store, then open “Ubuntu” |
| Spare laptop dual-boot | You want native hardware | More setup; not required for this course |
| Shared lab / company VM | Your school or employer already provides one | Ask for your username; use neutral names like student or labuser in examples |
Optional note: Some corporate training labs use Oracle Linux as the guest OS. Treat it as one RHEL-family choice. Login screens and branding may look different; the shell commands you learn here stay the same.
For labs in this series, work in a disposable directory such as /tmp/linux-lab-pushpjeet or a folder under your home directory. Avoid practising destructive commands as root until you understand permissions (later modules).
4. Open a terminal and meet your session#
How you open the terminal depends on your setup:
- Desktop Linux: search for “Terminal”, “Konsole”, or “Console”
- WSL: open the Ubuntu (or other distro) app
- Remote VM: SSH from your laptop, for example
ssh student@your-server
Once you see a prompt, try these safe commands. On a practice host the outputs look like this (your username and hostname will differ):
whoami
box
hostname
grok-bot-vm-270875175
pwd
/tmp/linux-lab-pushpjeet
echo $HOME
/home/box
echo $SHELL
/bin/bash
date
Sat Sep 26 11:04:52 IST 2026
uname -a
Linux grok-bot-vm-270875175 6.12.94+ #1 SMP PREEMPT_DYNAMIC Wed Sep 23 20:54:12 UTC 2026 x86_64 GNU/Linux
What each tells you:
whoami— the account you are logged in as (examples in this course usestudentorlabuser; yours may differ)hostname— the machine’s name on the networkpwd— print working directory (where you are in the filesystem tree)$HOME— your home directory path$SHELL— which shell program interprets your commands (often bash)date/uname -a— clock and kernel/system summary
If you use SSH, your first login may ask you to accept a host key fingerprint. That is normal for a new server.
5. How modules are organised#
Each later module follows a steady pattern:
- Short brief and learning objectives
- Teaching sections with explanations and real command examples
- Interactive practice (MCQs, flashcards, matching, fill-in-the-blank, order-the-steps, mini terminal challenges — as relevant)
- Common mistakes
- A hands-on lab with a verify step and a stretch goal
- Summary and a pointer to the next module
You can pause after any lab and resume the next day. Prefer short, frequent practice over one long marathon.
6. Safety habits from day one#
- Practise in a throwaway folder, not in system directories like
/etcor/boot - Prefer
rm -iwhen you start deleting (interactive confirm) — Module 5 covers this carefully - Do not share passwords or private keys in screenshots you publish
- If you use a cloud VM, protect SSH keys and turn the instance off when you finish for the day
Practice: MCQs#
Q1. What is the main difference between a GUI and a CLI?
- A) A GUI only works on Windows; a CLI only works on Linux
- B) A GUI uses windows and pointing devices; a CLI uses typed commands and text output
- C) A CLI cannot create or delete files
- D) A GUI is always slower and never used by professionals
Answer
B. Both interfaces talk to the same operating system. The CLI is text-based and scriptable; the GUI is visual. Many professionals use both.
Q2. You run whoami and see student. What does that mean?
- A) The computer’s hostname is student
- B) You are logged in as the user account named student
- C) Your home directory must be
/student - D) You have root (administrator) privileges
Answer
B. whoami prints your current username. Home is usually /home/student on many distros, but that is separate from the username string itself. Root is a different account.
Q3. Which practice environment is a reasonable choice for this beginner course?
- A) Only a physical dual-boot install is acceptable
- B) A cloud Linux VM, a local VM, or WSL are all fine
- C) You must use Oracle Linux exclusively
- D) You need a second laptop dedicated to Linux
Answer
B. Any ordinary Linux shell environment works. Distro choice is flexible; Oracle Linux may appear at work as one RHEL-family option, not as a course requirement.
Q4. Why does this course favour a disposable practice directory?
- A) Linux cannot write outside
/tmp - B) Mistakes in system directories can break the OS; a lab folder limits damage
- C) Commands only work under
/tmp - D) Home directories are read-only
Answer
B. Beginners delete and move files while learning. Keeping work under a lab folder (or a snapshot VM) protects the rest of the system.
Q5. The command pwd tells you:
- A) Your password
- B) Every process running on the system
- C) Your current working directory path
- D) The list of installed packages
Answer
C. “Print working directory.” It answers “where am I?” in the filesystem tree.
Practice: Order the steps#
Put these setup steps in a sensible order for a new learner.
- Open a terminal (or SSH into your VM)
- Choose and install/access a Linux environment (VM, cloud, or WSL)
- Run
whoami,hostname, andpwdto confirm the session - Create a practice folder for later labs (for example under
/tmpor$HOME) - Skim the learning objectives of Module 1 before diving into OS structure
Answer key (recommended order)
2 → 1 → 3 → 4 → 5
Get the environment first, open a shell, confirm identity and location, make a safe lab folder, then continue learning.
Practice: Mini terminal challenge#
Challenge: Meet your shell#
Goal: Confirm you can open Linux and read basic session facts.
Setup: Any Linux terminal as yourself (not root).
Tasks:
- Open a terminal or SSH session.
- Run
whoami,hostname,pwd,echo $SHELL, anddate. - Create a practice directory:
mkdir -p /tmp/linux-lab-pushpjeet(or$HOME/linux-lab-pushpjeet) andcdinto it. - Write one line of notes to a file:
echo "Day 0 — terminal works" > orientation.txtand display it withcat orientation.txt.
Verify: pwd shows your lab directory; cat orientation.txt prints your note; whoami matches the account you expect.
Stretch: Run uname -s and uname -r. Write one sentence in your notes about what kernel release you are on.
Hands-on lab#
Goal: Finish setup so you are ready for Module 1.
Steps:
- Confirm you have a working Linux shell (local, WSL, or remote).
- Record in a notebook or text file: username, hostname, home directory, shell path.
- Create
/tmp/linux-lab-pushpjeet(or a home subdirectory) and keep using it for demos. - Optional: if you use a VM, take a snapshot labelled “before Linux course.”
Verify: You can open a terminal again tomorrow and cd straight into your lab folder without help.
Stretch: If you have SSH access to a second host, log in once and compare uname -a on both machines.
Common mistakes#
- Spending hours polishing a dual-boot when a VM or WSL would let you start today
- Practising as
rootfor everyday commands - Assuming every screenshot must match Ubuntu exactly — prompts and themes vary by distro
- Skipping
pwdand getting lost before learning paths in Module 3
Summary#
You know what the course covers, how GUI and CLI differ, and how to open a Linux session and read basic facts about yourself and the machine. Keep a disposable lab directory ready.