100 days of Linux
A short, real Linux task every day.
Level 201 · 20 lessons · 21 practice labs
Lessons
Days 1-10
- Days 1-10: navigation, file operations, searching: Over the first ten days you become comfortable moving between folders, creating and moving files, and finding the file you want.
- Short task: find the missing contract file
Days 11-20
- Days 11-20: filtering, sorting, comparing text: You practise filtering and sorting text files such as logs and lists, and spotting the difference between two files, through daily tasks.
- Short task: find the difference between two customer lists
Days 21-30
- Days 21-30: config files and quoting: You learn to read and edit configuration files safely and to use quotes correctly on the command line.
- Short task: repair a config line with broken quoting
Days 31-40
- Days 31-40: permissions, ownership, sudo: You practise reading and setting file permissions, ownership and sudo correctly, and removing privileges that are not needed.
- Short task: undo the permissions an intern opened by mistake
Days 41-50
- Days 41-50: processes and jobs: You learn to list running processes, manage background jobs and stop a stuck process cleanly.
- Short task: tidy up background jobs left over from the night
Days 51-60
- Days 51-60: network diagnostics and SSH: You practise diagnosing network problems step by step and connecting safely to a remote machine over SSH.
- Short task: work out step by step why a service can't be reached
Days 61-70
- Days 61-70: packages and services: You learn to install and update software packages, start and stop services, and check which services are running.
- Short task: fix a service that won't start after an update
Days 71-80
- Days 71-80: disks, mounts and archives: In your own lab you monitor disk usage, mount disks, and archive and restore files.
- Short task: relieve a partition that is nearly full
Days 81-90
- Days 81-90: writing scripts: You learn to turn repeated chores into small scripts and to write them in a safe, readable way.
- Short task: a status report script that runs every morning
Days 91-100
- Days 91-100: operations scenarios and incident response: You combine what you learned in realistic operations scenarios, tracking down a problem and following the basic steps of incident response.
- Capstone: day 100, take over a server from scratch and hand it on
Practice labs
- Find the missing contract file: In a messy archive directory find a contract file whose name is partly known and submit its full path.
- Reorganise an archive by year and customer: Move hundreds of documents from one directory into subfolders by the year and customer code in their names and verify by count that none is lost.
- Weed out identical files stored under different names: Find files with identical content by hash, keep the oldest copy of each group, move the rest to a quarantine directory and report.
- Find the difference between two customer lists: Sort and compare two lists and submit the number of records found only in the new one.
- Repair a config line with broken quoting: Fix an environment file where a path with spaces is quoted wrongly and show the service reads the value correctly.
- Bring scattered configs into one format: In config files gathered from ten servers strip comments, sort keys and show the values that differ in a table.
- Undo permissions an intern opened by mistake: Find the project directory made world-writable and restore the right permissions for directories and files.
- Set up SSH key login and turn off passwords: Set up key login to the second host, add a short alias to the client config and disable password login, then verify.
- Give an operator only the sudo rights they need: Write a rule letting an operator only restart two services and read their logs, and test that it allows no shell escape.
- Find step by step why a service is unreachable: Test access to a service on the second host in order of name resolution, route, port and service and write where it breaks.
- Tidy up background jobs left from the night: Find orphaned long-running processes, determine which are still working and safely end the ones that are finished.
- Repair a service that will not start after an update: Compare the config file changed by an update with the old version, fix the incompatible setting and make the service start at boot.
- Relieve a partition that is nearly full: Find the directory filling the partition, compress or move old archives and bring usage under seventy percent.
- Mount a new disk permanently and move data onto it: Format a new disk, mount it permanently by UUID and move a growing data directory onto it with a short service interruption.
- Grow a nearly full data volume without downtime: Add the new disk to the volume group, grow the data logical volume and its file system while the service runs, and confirm the permanent mount still holds after a reboot.
- Write a script that prints disk status on one line: Write a short script that prints the root partition's usage percentage and the date on one line, make it executable and append its output to the report file.
- Schedule the report script for every morning: Run the script that summarises disk and memory at seven every morning with cron, send its output to a dated file and confirm the job runs as the right user.
- Write a status report script that runs every morning: Write a script summarising disk, memory, failed services and yesterday's failed logins, schedule it and make it exit non-zero on error.
- Run a five-minute first-response checklist: On a server reported slow check load, memory, disk, failed units and recent error entries in order and write up the finding.
- Prioritise and solve three problems arriving at once: Order a full disk, a stopped service and a locked account by impact, solve them and write a short incident record for each.
- Take over a server from scratch and hand it on documented: Map an undocumented server's services, accounts, scheduled jobs and risks, fix three risks and write the handover document.
About this course
A short, real Linux task every day.
What you will learn
- Days 1-10
- Days 11-20
- Days 21-30
- Days 31-40
- Days 41-50
- Days 51-60
- Days 61-70
- Days 71-80
- Days 81-90
- Days 91-100
Prerequisites
Finishing the level 101 courses of the same path, or knowing those topics, is enough.
Lab environment
Lessons run in your own Kali Linux terminal in the browser, connected to a private lab network. Nothing to install.
Frequently asked questions
- Is this course right for my level?
- The course is at level 201; it assumes you know the topics of the lower-level courses.
- Is there anything to install?
- No. Every lesson runs in your own lab environment that opens in the browser.
- How do lessons work?
- Each lesson has 8 to 10 steps and a short quiz. Early steps show the command to type, later steps give less help; if two attempts fail, the solution opens.
- Can I try it for free?
- Yes. The first three lessons of every course are free.