Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

228 total results found

Lesson: The Everyday Command Toolkit

Module 2 — Linux Fundamentals

What you'll learn Move around the filesystem confidently with pwd, cd, and ls. Create, copy, move, and delete files and directories — safely. Look inside files with cat, less, head, and tail. Search for files with find and search inside files with grep. Combi...

Lesson: Who Can Do What

Module 2 — Linux Fundamentals

What you'll learn The difference between users, groups, and the all-powerful root account. Why you use sudo instead of logging in as root. How to read the rwx permission string that ls -l shows you. How to change permissions with chmod (both numeric and symbo...

Lesson: What's Running and Why

Module 2 — Linux Fundamentals

What you'll learn Inspect running programs with ps, top, and htop. Send signals to processes and stop them with kill. Understand systemd units and what a "service" really is. Drive services with systemctl — status, start, stop, restart, enable. Read logs with...

Assignment 1: Explore and explain a Linux host

Module 2 — Linux Fundamentals

Goal: Prove you can navigate a real Linux machine, read its layout, and explain what you find — using only the commands from Chapters 1–4. Where: The Jumpbox (10.100.100.254, user ubuntu, passwordless sudo). SSH in from your workstation, then work in your home...

Assignment 2: Manage a service and read its logs

Module 2 — Linux Fundamentals

Goal: Prove you can inspect, control, and troubleshoot a systemd service and read its logs — the core operations loop from Chapter 5. Where: The Jumpbox (10.100.100.254, user ubuntu, passwordless sudo). Work in a new directory ~/m2-assignment2. Tasks SSH into...

Module 3 — Shell Scripting

Turn the Linux commands you know into automation: scripts, variables, I/O and exit codes, conditionals, loops, functions, and writing robust Bash.

Lesson: Your First Bash Scripts

Module 3 — Shell Scripting

What you'll learn What a Bash script actually is, and how the "shebang" line tells Linux how to run it. How to make a script executable with chmod +x and the difference between ./script and bash script. How to store data in variables and use them safely with ...

Lesson: Streams, Redirection & Exit Codes

Module 3 — Shell Scripting

What you'll learn The three standard streams every program has: stdin, stdout, and stderr. How to redirect output to files with >, >>, 2>, and &>, and how to read input. How to connect commands together with pipes |. How to read and use exit codes ($?) to kno...

Lesson: Conditionals & Tests

Module 3 — Shell Scripting

What you'll learn How to branch your script with if, elif, and else. How to write tests with [[ ]] for strings, numbers, and files. How exit codes drive conditionals, and how to chain commands with && and ||. How to handle many possible values cleanly with ca...

Lesson: Loops, Arguments & Functions

Module 3 — Shell Scripting

What you'll learn How to repeat work with for and while loops. How to read arguments passed to your script: $1, $2, $#, and "$@". How to write functions to organize and reuse code, and how they return values. How to use basic arrays to hold lists of items. B...

Lesson: Scripts You Can Trust

Module 3 — Shell Scripting

What you'll learn How set -euo pipefail turns silent failures into loud, safe ones. The quoting pitfalls that cause the worst real-world script bugs. How to lint your scripts automatically with ShellCheck. How to clean up reliably with trap, and what "idempot...

Assignment 1: A system health-check script

Module 3 — Shell Scripting

Goal: Write a Bash script that inspects the machine it runs on — disk usage, free memory, and whether a chosen service is running — and prints a clear, readable report with a meaningful exit code. Where: On the Jumpbox (10.100.100.254, Ubuntu, user ubuntu). Cr...

Assignment 2: A safe backup/parameterised script

Module 3 — Shell Scripting

Goal: Write a robust, parameterised Bash script that backs up a directory into a timestamped compressed archive, validates its inputs, is safe to re-run, and cleans up after itself. Where: On the Jumpbox (10.100.100.254, Ubuntu, user ubuntu). Create ~/backup.s...

Module 4 — Git & Version Control

Track, share, and collaborate on code: Git's model, the everyday commit workflow, branching/merging/conflicts, and remotes on the lab's Gitea server.

Lesson: Git's Mental Model

Module 4 — Git & Version Control

What you'll learn Why version control exists and what problems it solves on a real team. The four core places your work lives: the working tree, the staging area, the local repository, and (later) a remote. What a commit actually is — a snapshot, not a list o...

Lesson: Status, Add, Commit, Log

Module 4 — Git & Version Control

What you'll learn The everyday loop every developer repeats dozens of times a day: edit → status → add → commit. How to read git status and git diff to see exactly what changed. How to write commit messages that your future self and teammates will thank you f...

Lesson: Branches, Merges & Conflicts

Module 4 — Git & Version Control

What you'll learn What a branch really is (a cheap, movable pointer — not a copy of your files). How to create and switch branches with git branch and git switch. How to combine work with git merge, and the difference between a fast-forward and a merge commit...

Lesson: Working with Gitea

Module 4 — Git & Version Control

What you'll learn What a remote is, and how your local repo and a server repo stay in sync. How to clone, and how to wire up an existing local repo with git remote add. The push/fetch/pull cycle, and what a tracking branch is. How to push your Module 3 script...