← Subjects

Linux Essentials · Bash

Linux Essentials

Learning Linux from the terminal up — 17 chapters and 204 lessons and labs, from typing a first command to writing scripts with arguments, tests and loops.

Following StackMonsters · Linux Essentials — every lab runs in a browser shell; chapters 1–3 are free.

CH

Chapters

Each lesson ends in a quiz and is followed by a hands-on lab. Open a chapter to see its lessons and labs.

01

The Terminal and the Shell

Type a line, read the reply, run your first commands.

1 lessons · 7 labs
  1. Lab Make It Talk
  2. Lab Use the Calculator
  3. Lesson The Terminal and the Shell
  4. Lab Read the Reply
  5. Lab Read the Prompt
  6. Lab Run Your First Commands
  7. Lab Replay Your Commands
  8. Lab Type Less

02

Command Lines

Arguments, quotes, flags, errors and help.

7 lessons · 7 labs
  1. Lesson Arguments
  2. Lab Pass Arguments
  3. Lesson Quotes
  4. Lab Keep the Spaces
  5. Lesson Flags
  6. Lab Change How a Command Works
  7. Lesson Flags That Take a Value
  8. Lab Read the Start and the End
  9. Lesson Read an Error Message
  10. Lab Fix Three Broken Lines
  11. Lesson Get Help with --help
  12. Lab Find the Flag
  13. Lesson The Manual: man
  14. Lab Read a Manual Page

03

Navigating Linux

Directories, paths and where things are.

11 lessons · 11 labs
  1. Lesson Files and Directories
  2. Lab Map the Tree
  3. Lesson Paths
  4. Lab Follow a Path
  5. Lesson Your Home Directory
  6. Lab Go Home
  7. Lesson The Current Directory
  8. Lab Where Am I?
  9. Lesson List a Directory with ls
  10. Lab Read a Listing
  11. Lesson Change Directory with cd
  12. Lab Move Around the Tree
  13. Lesson Relative Paths
  14. Lab Take the Short Way
  15. Lesson The Parent Directory
  16. Lab Go Up the Tree
  17. Lesson Hidden Files
  18. Lab Find What ls Does Not Show
  19. Lesson Tab Completion for Paths
  20. Lab Complete the Path
  21. Lesson The Linux Directory Layout
  22. Lab Know Where to Look

04

Working with Files

Create, copy, move, delete and link.

8 lessons · 8 labs
  1. Lesson Create a File with touch
  2. Lab Make Empty Files
  3. Lesson Make a Directory with mkdir
  4. Lab Build the Archive
  5. Lesson Copy a File with cp
  6. Lab Back Up Before You Change
  7. Lesson Copy a Directory with cp -r
  8. Lab Copy a Whole Branch
  9. Lesson Move and Rename with mv
  10. Lab Tidy the Shop Directory
  11. Lesson Delete a File with rm
  12. Lab Delete with Care
  13. Lesson Delete a Directory with rm -r
  14. Lab Remove an Old Branch
  15. Lesson Symbolic Links
  16. Lab Point to the Right Version

05

Wildcards and Patterns

Work on many files with one line.

4 lessons · 4 labs
  1. Lesson The * Wildcard
  2. Lab Sort the Inbox
  3. Lesson The ? and [ ] Wildcards
  4. Lab Pick the Right Weeks
  5. Lesson Brace Expansion
  6. Lab Build a Year of Directories
  7. Lesson Organize a Messy Directory
  8. Lab Organize the Market Stall

06

Search Text with grep

Find the lines you need in files and directories.

5 lessons · 5 labs
  1. Lesson Find Text with grep
  2. Lab Search a Log
  3. Lesson Change What grep Matches: -i, -w, -v
  4. Lab Filter the Noise
  5. Lesson Change What grep Writes: -n, -c
  6. Lab Count and Point
  7. Lesson Search Several Files
  8. Lab Search Every Log
  9. Lesson Search a Directory with grep -r
  10. Lab Find Where a Setting Lives

07

Find and Edit Files

Find files, change them safely, and check the change.

5 lessons · 5 labs
  1. Lesson Find Files by Name with find
  2. Lab Find a Lost File
  3. Lesson Find Files by Size and Age
  4. Lab Find the Big and the Old
  5. Lesson Edit a File
  6. Lab Change a Setting
  7. Lesson Compare Files with diff
  8. Lab What Changed?
  9. Lesson Find and Fix a Settings Error
  10. Lab Fix the Card Reader

08

Redirection

Send output and errors to files.

7 lessons · 7 labs
  1. Lesson Output and Errors
  2. Lab Tell the Streams Apart
  3. Lesson Save Output with >
  4. Lab Save a Report
  5. Lesson Add to a File with >>
  6. Lab Keep a Running Log
  7. Lesson Save Errors with 2>
  8. Lab Separate the Errors
  9. Lesson Both Streams to One File
  10. Lab Everything in One File
  11. Lesson Throw Output Away: /dev/null
  12. Lab Hide the Noise
  13. Lesson Standard Input and <
  14. Lab Numbers Only

09

Pipes

Connect commands into pipelines.

6 lessons · 6 labs
  1. Lesson Connect Commands with |
  2. Lab Build Your First Pipeline
  3. Lesson Sort Lines with sort
  4. Lab Rank the Sales
  5. Lesson Take a Column with cut
  6. Lab Take the Column You Need
  7. Lesson Count Repeats with uniq -c
  8. Lab What Sells Most?
  9. Lesson Save a Copy with tee
  10. Lab See It and Keep It
  11. Lesson Build a Log Summary
  12. Lab The Daily Report

10

Programs, Processes and the Kernel

What runs your commands.

7 lessons · 7 labs
  1. Lesson Programs Are Files
  2. Lab Find the Program Files
  3. Lesson Processes
  4. Lab What Is Running?
  5. Lesson The Kernel
  6. Lab Ask the Kernel
  7. Lesson Parent and Child Processes
  8. Lab Follow the Parents
  9. Lesson Stop a Process
  10. Lab Stop the Runaway Jobs
  11. Lesson The Operating System
  12. Lab Sort the Layers
  13. Lesson Linux Distributions
  14. Lab Identify the Computer

11

Variables and the Environment

Store values, pass them to programs, and find commands.

6 lessons · 6 labs
  1. Lesson Shell Variables
  2. Lab Hold a Value
  3. Lesson Use Variables in Commands
  4. Lab Build Paths from Variables
  5. Lesson Single and Double Quotes
  6. Lab Choose the Quotes
  7. Lesson Environment Variables
  8. Lab Read the Environment
  9. Lesson Pass a Variable On with export
  10. Lab Hand a Setting to a Program
  11. Lesson How PATH Finds Commands
  12. Lab Put Your Tools on the PATH

12

Customize Your Shell

Builtins, aliases and settings that stay.

3 lessons · 3 labs
  1. Lesson Builtins and type
  2. Lab What Kind of Command?
  3. Lesson Aliases
  4. Lab Make a Shortcut
  5. Lesson Keep Your Settings in ~/.bashrc
  6. Lab Make It Stay

13

Users and Groups

Accounts, groups, owners and sudo.

6 lessons · 6 labs
  1. Lesson Accounts and User IDs
  2. Lab Read the Account List
  3. Lesson Groups
  4. Lab Who Is in Which Group?
  5. Lesson Check Your Identity with id
  6. Lab Who Am I Here?
  7. Lesson File Owners
  8. Lab Whose File Is It?
  9. Lesson Run a Command as root with sudo
  10. Lab Borrow root
  11. Lesson Make Accounts and Groups
  12. Lab Hire a Cashier

14

File Permissions

Who can read, change and run each file.

6 lessons · 6 labs
  1. Lesson Read Permissions
  2. Lab Who Can Do What?
  3. Lesson Permissions on Directories
  4. Lab The Locked Door
  5. Lesson Change Permissions with chmod
  6. Lab Open and Close Files
  7. Lesson Permission Numbers
  8. Lab Set Permissions by Number
  9. Lesson Change the Owner with chown
  10. Lab Hand Over the Files
  11. Lesson Repair Access Without chmod 777
  12. Lab Undo the 777

15

Your First Scripts

Put commands in a file and run it.

6 lessons · 6 labs
  1. Lesson Write a Script
  2. Lab Your Morning Script
  3. Lesson The Shebang and ./
  4. Lab Make It Run Like a Program
  5. Lesson Exit Codes
  6. Lab Read the Exit Code
  7. Lesson Run on Success or Failure: && and ||
  8. Lab Check, Then Act
  9. Lesson Save Output in a Variable with $( )
  10. Lab Numbers into Variables
  11. Lesson Fix a Script That Will Not Run
  12. Lab Get the Report Running

16

Script Logic

Arguments, decisions and loops.

6 lessons · 6 labs
  1. Lesson Script Arguments
  2. Lab One Script, Many Questions
  3. Lesson All Arguments: $# and "$@"
  4. Lab Back Up Any Files
  5. Lesson Make Decisions with if
  6. Lab Decide in a Script
  7. Lesson Tests with [ ]
  8. Lab Check Before You Act
  9. Lesson Repeat with for
  10. Lab Count Every Log
  11. Lesson Write a Shop Checker
  12. Lab The Shop Checker

17

Final Challenge

Fix an unfamiliar project end to end.

5 lessons · 5 labs
  1. Lesson Explore an Unfamiliar Project
  2. Lab Survey the stock-api Project
  3. Lesson Locate the Broken Configuration
  4. Lab Find and Fix the Bad Config Value
  5. Lesson Fix File Paths and Permissions
  6. Lab Repair Paths and Permissions
  7. Lesson Run the Project's Check Script
  8. Lab Run the Check Script
  9. Lesson Generate a Results Report
  10. Lab Write the Results Report

Outline copied from the course page, October 2026.