What you now know
Six lessons ago you had never opened a terminal with intent. Here is the short version of the ground you have covered since:
- What Is Linux, and Why It’s Everywhere. Linux is the kernel, a distro bundles it with tools and a package manager, and the two move on different update schedules. More importantly, Linux is what actually runs the servers, cloud workloads, and containers a blue teamer spends a career around.
- Getting Oriented in the Shell. A shell sits between you and the kernel, the prompt tells you who and where you are before you read a single word of the line, and
pwd,ls, andcdare the first three commands anyone runs after landing on an unfamiliar system. - Navigating the Filesystem. Absolute paths always mean the same place, relative paths depend on where you are standing, dotfiles are a convention rather than a security boundary, and
rmhas no undo, which is exactly why every exercise stayed inside~/linux-essentials. - Reading and Searching Files.
cat,less,head, andtailget you to the part of a file you care about, andgrep, with-i,-n,-r, and-v, is the single most useful search tool for picking a real signal out of a pile of log lines. - Permissions and Ownership. The
ls -lpermission string breaks into type, owner, group, and other,chmodchanges those bits symbolically or numerically, and a world-writable file is one of the first things a real pentest report flags. - Processes and Installing Software.
psandtopshow you what is running and how hard it is working,killasks a process to stop (politely, or as a last resort with-9), and package managers track what is installed on a system well enough to make an unexplained package worth investigating.
Those six ideas, read a prompt, move around confidently, search text fast, read and fix permissions, and keep an eye on processes and packages, are the daily reflexes of anyone who works on Linux systems for a living. Everything else you will learn later builds on top of them.
Hands-on: triage a suspicious file
This last exercise does not teach anything new. It chains together commands from across the whole track into one small scenario: a file shows up that should not be trusted yet, and you work through it the way you would on a real system, end to end.
Get back to your practice folder first. Everything below happens inside it, and nothing here touches anything outside it:
cd ~/linux-essentials
A file arrives. Create a stand-in for it, and imagine for a moment that this is something you just received rather than something you just typed:
touch incoming-attachment.sh
Now imagine whatever process dropped that file also left it wide open, which happens more often than you would like on real systems. Reproduce that deliberately, so you have something worth catching:
chmod 777 incoming-attachment.sh
Check it the way you would check any file you were handed:
ls -l incoming-attachment.sh
You should see something like -rwxrwxrwx 1 you you 0 ... incoming-attachment.sh. Read that permission string the way Lesson 5 taught you: owner, group, and other can all read, write, and execute this file. A 777 on a file you did not create yourself, and have no reason to trust yet, is exactly the kind of finding that gets flagged, world-writable and world-executable, open to being rewritten by literally anyone on the system. You just caught it.
Fix it. This file has no reason to be executable or writable by anyone but you, so bring it back down to a plain, sane default:
chmod 644 incoming-attachment.sh
ls -l incoming-attachment.sh
That second ls -l should now show -rw-r--r--: owner can read and write, everyone else can only read. That one command, run after you actually looked at the file instead of assuming it was fine, is the whole habit in miniature.
The last piece ties in Lesson 4. Suppose there is a log recording what just happened to that file. Create a small one:
cat > triage.log << 'EOF'
2024-03-02 09:00:01 INFO Session started
2024-03-02 09:02:17 INFO File received: incoming-attachment.sh
2024-03-02 09:02:18 ALERT permissions changed to 777 on incoming-attachment.sh
2024-03-02 09:05:44 INFO Session closed
EOF
Now search it for the line that actually matters, the way you would search a real auth.log or syslog for a known marker:
grep "ALERT" triage.log
That single line is the one that would start a real investigation: something made this file world-writable, and whatever read this log flagged it. You just walked the whole path: create, inspect, catch a bad default, fix it, and confirm the story from the log. Five lessons’ worth of commands, one small scenario, nothing outside ~/linux-essentials touched or at risk the entire time.
Where to go from here
This track deliberately stopped at foundation depth. Shells, paths, permissions, processes, and package managers are each topics people spend entire careers getting deeper into, system administration, kernel internals, package security, process forensics. Stopping here is the point: you now have the map, the vocabulary, and enough hands-on muscle memory to not be lost the first time a real server asks something of you.
If a command did not behave the way a lesson said it would, or if something in this track made you want to go deeper right now, bring it to the community Discord using the Join Discord button at the top of the page. That is where the harder questions get worked through, where people compare notes across different distros and setups, and where a beginner question is always welcome. The one open question you wrote down in the reflection below is a perfectly good place to start that conversation.
When you are ready, the next tracks in the program build directly on what you just practiced here: Networking Fundamentals picks up once a machine needs to talk to another one, and later tracks will ask you to read logs, check permissions, and watch processes on systems that are not a safe sandbox anymore. The habits you built inside ~/linux-essentials are the ones that carry over.