Linux – 100+ Lab Exercises Roadmap (Basic, Intermediate, Advanced)

🔰 Basic Level (30+ Exercises)

 

Objective: Build foundational command-line skills, understand the Linux file system, and navigate through essential operations.

 

File System Navigation & Management

  • Navigate directories using cd, ls, pwd.

  • Create, delete, and move files/directories with touch, rm, mv, cp, mkdir.

  • Explore file permissions using chmod, chown, umask.

  • Use find and locate to search files.

  • Use df, du, and lsblk for disk space analysis.

Basic Command-Line Utilities

  • Redirect input/output using >, >>, 2>, |, tee.

  • Use cat, more, less, head, tail.

  • Archive files using tar, gzip, bzip2, zip.

  • Learn and use grep, awk, cut, sed.

  • Manage processes using ps, top, htop, kill.

User & Group Management

  • Create and delete users (useradd, userdel).

  • Create and manage groups (groupadd, gpasswd).

  • Set user passwords and switch users (passwd, su, sudo).

  • Assign users to groups and configure /etc/sudoers.

  • Understand /etc/passwd, /etc/group, and /etc/shadow.

File Permissions & Ownership

  • Change file ownership (chown, chgrp).

  • Use symbolic and octal modes to set permissions.

  • Configure default file permissions via umask.

  • Set SUID, SGID, and Sticky Bit.

  • Test permission changes in shared directories.


 

🚀 Intermediate Level (40+ Exercises)

 

Goal: Gain practical experience with shell scripting, package management, system services, and network configuration.

 

Shell Scripting & Automation

  • Write basic shell scripts using bash.

  • Accept user input and arguments in scripts.

  • Use conditionals (if, elif, case) in scripts.

  • Implement loops (for, while, until).

  • Automate tasks using cron (crontab) and at.

Package & Software Management

  • Install and remove packages with apt, yum, dnf.

  • Manage repositories and GPG keys.

  • Compile software from source using make and gcc.

  • Create and install .deb or .rpm packages.

  • Maintain system updates and upgrades.

Networking & Connectivity

  • Check network interfaces using ip, ifconfig, nmcli.

  • Configure static IPs and DNS.

  • Use ping, traceroute, netstat, ss.

  • Scan ports with nmap, test services with telnet, nc.

  • Transfer files using scp, rsync, sftp.

System Services & Logs

  • Use systemctl to manage services.

  • Analyze logs via journalctl and /var/log/.

  • Enable/disable startup services.

  • Monitor resource usage with iostat, vmstat, sar.

  • Check system boot and uptime information.


 

🧠 Advanced Level (40+ Exercises)

 

Goal: Master Linux administration, performance tuning, security, and advanced scripting techniques.

 

Security & Access Control

  • Set up and configure iptables, firewalld, or ufw.

  • Implement SELinux or AppArmor.

  • Configure and monitor fail2ban.

  • Manage SSH keys and restrict SSH access.

  • Conduct file integrity checks with aide or tripwire.

Advanced Shell & Tools

  • Debug scripts with set -x and trap.

  • Use functions and error handling in Bash scripts.

  • Schedule job dependencies with anacron.

  • Automate system reports (disk, memory, logs).

  • Use expect for automating interactive sessions.

Server & Service Management

  • Set up and secure an Apache/Nginx server.

  • Install and configure an FTP/SFTP server.

  • Deploy and manage MySQL/PostgreSQL servers.

  • Configure DNS using bind9.

  • Implement load balancing using HAProxy.

Virtualization & Containers

  • Install and manage VMs with KVM/QEMU.

  • Use virt-manager and virsh CLI.

  • Run containers using Docker on Linux.

  • Manage cgroups and namespaces.

  • Set up LXD/LXC containers.

Performance Tuning & Monitoring

  • Monitor system with top, iotop, glances, dstat.

  • Optimize memory usage and swappiness.

  • Tweak kernel parameters with sysctl.

  • Profile performance with perf, strace.

  • Analyze boot time with systemd-analyze.

 

Capstone Projects

 

  • Set up a complete LAMP/LEMP stack from scratch.

  • Automate server hardening via Bash scripts.

  • Create a log monitoring and alerting solution.

  • Configure a secure file transfer system with auditing.

  • Deploy and benchmark containerized apps on Linux.


 

Tools & Utilities

 

  • vim, nano, tmux, screen, ssh, scp, rsync

  • bash, cron, systemd, tcpdump, nmap

  • firewalld, iptables, ufw, SELinux, AppArmor

Scroll to Top