Here's a 2-week Linux fundamentals lesson plan for your course, designed for students with beginner to intermediate knowledge. The plan spans 3-hour sessions on Monday, Wednesday, and Thursday, and 5-hour sessions on Saturdays, focusing on command-line mastery and practical sysadmin skills.
📅 Week 1 Overview: Foundations & Core Utilities
Monday (3 hrs) – Intro & Navigation Essentials
- Linux Shells & Prompt Basics
- What is a shell? (bash, zsh)
- Shell configuration files (
.bashrc,.bash_profile)
- Basic Navigation & Info Commands
pwd,cd,ls,tree,file,echo,whoami,id,hostname
- File & Directory Management
mkdir,touch,rm,rmdir,mv,cp,stat,basename,dirname
- Hands-on: Create directories and explore the filesystem hierarchy
Wednesday (3 hrs) – File Discovery & Text Searching
- Powerful File Searching
find,locate,which,type
- Working with Text
cat,less,more,head,tailgrep,egrep,cut,wc,sort,uniq,strings
- Hands-on: Search for logs, analyze large files, extract columns
Thursday (3 hrs) – Installing Software & File Permissions
- Package Management
dnf,rpm,yum,apt(brief comparison for distro awareness)- Installing, removing, searching packages
- Permissions & Ownership
ls -l,chmod,chown,chgrp,umask
- Hands-on: Install
htop, change permissions on created files
Saturday (5 hrs) – Processes, Bash & Text Editors
- Process Management
ps,top,htop,kill,pkill,nice,renice,jobs,fg,bg
- Bash Scripting Basics
echo,read,if,for,while,case, variables- Shebang and script permissions
- Text Editing
nano,vimintro (optional:micro,gedit)
- Hands-on: Write a simple script that checks disk space and sends a message
📅 Week 2 Overview: System Admin, Networking, Scheduling
Monday (3 hrs) – User & Group Management
- User Commands
useradd,passwd,usermod,userdelgroupadd,groupmod,groups,gpasswd,chage
- Account Info Tools
/etc/passwd,/etc/shadow,/etc/groupid,who,w,last,finger
- Hands-on: Create a new user, add to a group, set password policies
Wednesday (3 hrs) – Job Scheduling & Crons
- One-time Jobs
at,atq,atrm
- Recurring Jobs
crontab,crontab -e,/etc/cron.*- Time syntax, logging cron output
- Timers Overview (brief mention of
systemd timers) - Hands-on: Schedule
uptimereporting script via cron
Thursday (3 hrs) – Networking Essentials
- IP and Interface Commands
ip a,ip r,ip link,ip neigh,nmcli,ethtool
- Troubleshooting Tools
ping,traceroute,dig,nslookup,host,curl,wget,netstat,ss
- Hands-on: Trace route to a domain, get public IP, check DNS resolution
Saturday (5 hrs) – Services, Firewalld & System Control
- Startup & Shutdown
shutdown,reboot,poweroff,systemctl isolate
- Systemd Services
systemctl,journalctl,systemctl enable/start/stop/status- Custom service unit file basics
- Firewall Management
firewalldbasics,firewall-cmdpermanent vs runtime- Adding/removing services and ports
- Final Hands-on:
- Create a script to log uptime every hour
- Open a port and create a service to run a background job
🧰 Additional Commands Covered Throughout
df,du,mount,umount,lsblk,blkid,free,uptime,history,alias,env,export,xargs,tee,yes,bc,sleep,time,basename,uname,whoami,stat,lsof,basename,dirname,watch,yes,diff,cmp
