DEV102 · Linux and the Command Line for DevOps
About Course
Get comfortable on the Linux command line, where most servers, containers and pipelines run. You will navigate the file system, manage permissions, processes and services, and automate a routine task with a Bash script.
Who it is for
Developers, IT staff and DevOps beginners who mostly use graphical tools and need to work confidently on Linux servers.
Prerequisites
Basic computer skills; DEV101 is recommended for context but not required.
What you will be able to do
- Navigate and manipulate files and directories with core shell commands.
- Read and set file permissions and ownership, and use sudo responsibly.
- Manage processes, packages and systemd services and read system logs.
- Write a Bash script with variables, conditions, loops and exit codes to automate a routine task.
Lessons
- Lesson 1 · Navigating the shell and the file system
- Lesson 2 · Users, permissions, processes and services
- Lesson 3 · Pipes, text processing and Bash scripting
- Lesson 4 · Lab and assignment
Lab: Automate a daily server check
You will set up an Ubuntu environment, practice file, permission and process commands on a small sample web project, and install and inspect a web server service. You will then write a Bash script that checks disk space, service status and recent errors, saves a report and exits with a meaningful status code.
Free tools: Ubuntu via WSL2 on Windows, the Terminal on macOS or Linux, or an Ubuntu container in Docker Desktop; VS Code as the editor
Assessed assignment
Write a Bash script named daily-check.sh for a small company's web server. It must check free disk space against a threshold, confirm that a given service is running, count error lines in a log from the last 24 hours, compress logs older than seven days into an archive folder and write a dated report. The script must accept the service name and threshold as arguments, print usage help when run incorrectly, and exit with 0 when healthy and 1 when any check fails. Include a README showing example runs and how you would schedule it with cron.
| Criterion | Weight | What excellent work looks like |
|---|---|---|
| Correctness | 35% | All checks work, thresholds and arguments are respected and exit codes reflect the result. |
| Script quality and safety | 25% | Uses set -euo pipefail, quotes variables, avoids hard-coded paths and never deletes data without a clear rule. |
| Use of Linux tools | 20% | Appropriate commands such as df, systemctl, journalctl or grep, find and tar are combined effectively. |
| Documentation | 20% | Usage help and README explain arguments, example output and a cron schedule clearly. |
Portfolio piece
A documented, reusable Bash health-check script for a Linux web server.
Next step
Continue with DEV103 · Version Control and Collaboration with Git · 6 hours · $42.00
Course Content
DEV102 · Linux and the Command Line for DevOps (4 h)
-
Lesson 1 · Navigating the shell and the file system
-
Lesson 2 · Users, permissions, processes and services
-
Lesson 3 · Pipes, text processing and Bash scripting
-
Lesson 4 · Lab and assignment
-
DEV102 Assessment · Linux and the Command Line for DevOps
