# Linux Essentials — Detailed Lab Overview ## Duration **2 Hours (12 Steps)** ## Audience This lab is designed for **complete beginners** (equivalent to 10th grade students) who are learning Linux and the terminal for the first time. No prior Linux knowledge is assumed. Each instruction is step-by-step and written in simple language. ## Lab Format - **Instruction Lab**: You will be guided through commands and concepts directly. - **Hands-On Practice**: You will type commands into the terminal and observe outputs. - **Validation Tasks**: At the end, optional tasks (Git & Networking) include helper files and validation scripts. ## Learning Objectives By the end of this lab, you will be able to: 1. Open and use the Linux terminal effectively. 2. Navigate the filesystem and perform file operations. 3. View, search, and filter text files. 4. Manage processes and jobs (foreground/background). 5. Understand file permissions and change them with `chmod` and `chown`. 6. Gather system information (disk, memory, uptime). 7. Perform basic networking commands (ping, DNS lookups, open ports). 8. Archive and compress files using `tar` and `gzip`. 9. Use the package manager (`apt`) to install and remove software. 10. Write and run simple shell scripts. 11. Initialize and commit code to a Git repository. 12. Troubleshoot connectivity and DNS resolution. ## Structure - **Steps 1–10**: Core Linux skills (approx. 100 minutes). - **Steps 11–12**: Validation tasks with helpers (approx. 20 minutes). - Each step is **10 minutes** on average, but you may take longer as you practice. ## Requirements - **Operating System**: Ubuntu 24 (or similar Linux distribution). - **Tools**: Terminal application (bash shell). - **Network**: Internet connection for package installation and DNS tests. - **Permissions**: Some tasks require `sudo` access (administrator rights). ## Key Skills Practiced - Working with the Linux command line - Creating and organizing files and directories - Redirecting and searching text output - Managing processes and monitoring system usage - Adjusting permissions for files and directories - Compressing and archiving data - Installing/removing software with APT - Writing and running bash scripts - Using Git for version control - Troubleshooting basic networking issues ## Suggested Workflow 1. **Follow each step in order.** Each builds on the previous one. 2. **Type commands manually.** Avoid copy-paste to build muscle memory. 3. **Observe the output carefully.** Compare it with expected results. 4. **Repeat tasks** if something doesn’t work — troubleshooting is part of learning. 5. **Try variations** (e.g., different filenames, directories) to deepen your understanding. ## Completion Criteria - You have successfully completed all 10 instructional steps. - You optionally attempted Steps 11 and 12 and passed the provided validation scripts. - You are comfortable using the Linux terminal for basic daily tasks. --- **Next Steps:** After completing this lab, you are ready to explore more advanced topics such as user management, shell scripting with conditionals/loops, and networking security.