Linux Fundamentals Curriculum

A structured 10-lesson plan to take you from beginner to competent Linux user

Guiding Philosophy

1
2 Hours

Introduction & Getting Started with the Shell

Goal: Understand what Linux is, get a system running, and run your first commands.

Topics:

  • What is Linux? (Kernel, Distributions, Open Source)
  • Choosing a Distribution: Ubuntu (user-friendly) vs. Fedora (cutting-edge)
  • Installing Linux in a Virtual Machine (VirtualBox or VMWare Player)
  • GUI vs. CLI
  • Opening the Terminal
  • First commands: whoami, pwd, ls, date, cal

2-Hour Practice:

  1. Install Ubuntu Desktop in a virtual machine
  2. Open the terminal and practice the basic commands
  3. Try using options: ls -l, ls -a, cal 2024
2
2 Hours

Navigating the Filesystem

Goal: Become comfortable moving around the Linux directory structure.

Topics:

  • Linux Filesystem Hierarchy Standard (FHS)
  • Absolute vs. Relative Paths
  • Essential commands: cd, ls
  • Special characters: ~, ., .., -
  • Creating directories: mkdir, rmdir

2-Hour Practice:

  1. Use cd and ls to explore from root (cd /)
  2. Create nested directories in your home folder
  3. Practice moving using both absolute and relative paths
3
2 Hours

Working with Files

Goal: Learn to create, view, copy, move, and delete files.

Topics:

  • Creating files: touch, nano
  • Viewing files: cat, less, head, tail
  • Copying, moving, renaming: cp, mv
  • Deleting: rm (use with caution!)
  • Finding files: find, locate

2-Hour Practice:

  1. Create text files using touch and nano
  2. Practice cp, mv, and rm
  3. Use find to locate all .txt files
4
2 Hours

File Permissions and Ownership

Goal: Understand and manage who can read, write, and execute files.

Topics:

  • Users and Groups concept
  • Viewing permissions: ls -l
  • Permission classes: User (u), Group (g), Others (o)
  • Permission types: Read (r=4), Write (w=2), Execute (x=1)
  • Changing permissions: chmod
  • Changing ownership: chown, chgrp

2-Hour Practice:

  1. Create a script and make it executable with chmod +x
  2. Create a directory and restrict others' access
  3. Experiment with chown (may need sudo)
5
2 Hours

The Power of the Shell

Goal: Learn to combine commands and work with text efficiently.

Topics:

  • Standard Input, Output, and Error
  • Redirecting output: >, >>
  • Piping: |
  • Text processing: grep, sort, uniq, wc
  • Wildcards: *, ?, []

2-Hour Practice:

  1. Use ls > filelist.txt to save directory listing
  2. Create a pipeline: ps aux | grep firefox | wc -l
  3. Use grep to search in a text file
6
2 Hours

User Management and Superuser Privileges

Goal: Learn how to manage users and perform administrative tasks.

Topics:

  • The Superuser (root) and its dangers
  • Using sudo for administrative tasks
  • Switching users: su, sudo -i
  • Managing users: useradd, usermod, passwd
  • Managing groups: groupadd, adduser

2-Hour Practice:

  1. Create a new user account and set password
  2. Use sudo to install software
  3. Switch to the new user account
7
2 Hours

Package Management and Software Installation

Goal: Understand how to install, update, and remove software.

Topics:

  • Package Managers as "App Stores"
  • Debian/Ubuntu: apt (apt update, apt install, etc.)
  • Red Hat/Fedora: dnf
  • Finding software: apt search or dnf search
  • Introduction to Snap and Flatpak

2-Hour Practice:

  1. Update package list and upgrade all packages
  2. Search for and install htop
  3. Practice removing a package
8
2 Hours

Process Management and System Monitoring

Goal: See what your computer is doing and control running programs.

Topics:

  • What is a process?
  • Viewing processes: ps, top, htop
  • Interactive process management
  • Sending signals: kill, killall, pkill
  • Background processes: &, jobs, fg, bg

2-Hour Practice:

  1. Use htop to monitor system resources
  2. Start sleep 300, put in background, bring to foreground
  3. Start a program and use pkill to terminate it
9
2 Hours

Introduction to Shell Scripting

Goal: Automate simple, repetitive tasks.

Topics:

  • What is a shell script?
  • The shebang: #!/bin/bash
  • Making scripts executable
  • Using variables
  • Input/output: echo, read
  • Simple control structures: if statements

2-Hour Practice:

  1. Write a "Hello, World!" script
  2. Write a script that asks for your name and greets you
  3. Write a script with an if statement to check if a file exists
10
2 Hours

Networking and Next Steps

Goal: Perform basic network operations and plan your continued learning.

Topics:

  • Network configuration: ip addr
  • Testing connectivity: ping
  • Downloading files: wget, curl
  • Secure Shell (SSH): ssh
  • Where to go from here?

2-Hour Practice:

  1. Use ping to test connection to google.com
  2. Use wget to download a file
  3. Try connecting to a remote server via ssh

Final Advice

Enjoy the journey! The command line is a powerful tool that will make you a more effective computer user.