Wrap-Up
You just went from "I have SSH access to a server" to "I can navigate it, create files, read logs, search for anything, and control who has access to what." That's not a small thing — that covers the majority of what you do day-to-day on a Linux system in an IT role.
What We Covered in Part 1
This lab walked through Linux commands in the order you'd actually need them on the job. Not alphabetically, not randomly — in the order that matches real work.
- Setting up your environment — spinning up a VM and connecting via SSH
- Navigating the file system — understanding where you are and how Linux organizes everything
- Creating and manipulating files — building directory structures, copying, moving, and deleting files
- Editing files and reading logs — using
nanoto make changes andcat,less, andtailto read what's happening - Searching and filtering — finding exactly what you need with
grep, pipes, andfind - Permissions — controlling access with
chmodandchown, and understanding what those permission strings actually mean
What You Can Do Now
After completing Part 1, you should be able to:
- SSH into any Linux server and orient yourself immediately
- Navigate confidently through the file system without getting lost
- Create, copy, move, rename, and delete files and directories
- Edit configuration files and read log files to troubleshoot issues
- Search through files and command output to find specific information quickly
- Chain commands together with pipes to filter and transform output
- Understand and modify file permissions so the right people and services have the right access
- Use
sudoappropriately when you need elevated privileges
These aren't academic skills. This is what you'd use on your first day managing a Linux server at work.
Commands Reference
Here's every command covered in Part 1 with a brief description. Bookmark this or come back to it when you need a quick refresher.
| Command | What It Does |
|---|---|
| ssh | Connect to a remote server over a secure shell |
| pwd | Print the current working directory — shows where you are |
| ls | List files and directories in the current location |
| cd | Change directory — move to a different location in the file system |
| mkdir | Create a new directory |
| touch | Create an empty file (or update the timestamp of an existing one) |
| cp | Copy files or directories |
| mv | Move or rename files and directories |
| rm | Remove files or directories (be careful — no recycle bin) |
| sudo | Run a command with superuser (root) privileges |
| nano | Open a simple text editor in the terminal |
| cat | Display the entire contents of a file |
| less | View a file one screen at a time — great for large files |
| tail | Show the last lines of a file — essential for watching logs |
| grep | Search for patterns in files or command output |
| | (pipe) | Send the output of one command as input to another |
| find | Search for files by name, type, size, or other criteria |
| chmod | Change file permissions (read, write, execute) |
| chown | Change the owner and/or group of a file or directory |
You don't need to memorize every flag for these commands. What matters is knowing they exist, understanding what they do, and being able to look up the specifics when you need them. That's how experienced admins work — they know the tools, and they check man pages or --help for the details.
What's Next in Part 2
Part 1 gave you the foundation. Part 2 is where things get more interesting — you'll move from "I can work with files" to "I can manage a running system." Here's what's coming:
- Processes — viewing running processes, killing stuck ones, understanding what's consuming resources with
ps,top,htop, andkill - Networking — checking IPs, testing connectivity, inspecting open ports, and basic network troubleshooting with
ip,ping,curl,ss, andnetstat - Deploying a web server — installing and configuring Nginx or Apache, serving a page, and understanding what a web server actually does under the hood
- Monitoring live logs — watching logs in real time with
tail -f, filtering live output, and understanding how to track down issues as they happen
If Part 1 is "I can use a Linux box," Part 2 is "I can run and troubleshoot services on a Linux box." That's the difference between knowing Linux and being useful with Linux.
Part 2 is coming soon
Part 2 of this lab is currently being built. When it's ready, it'll pick up exactly where you left off. In the meantime, the best thing you can do is practice — spin up a fresh VM and repeat these commands until they feel natural. Muscle memory matters in the terminal.
Clean Up Your Environment
If you spun up an Azure VM for this lab, delete the entire resource group now. You can always create a new one when Part 2 is available.
What this may cost
Rough estimate: $0 after cleanup; ongoing charges continue for any Azure resources you leave behind. Actual Azure pricing varies by region, VM size, subscription, credits, and how long you leave the lab running.
- Ubuntu Server VM
- Managed OS disk
- Public IP, network interface, virtual network, and subnet
Deleting the resource group is the recommended final step for cloud-based Linux practice.
How to stop billing
- In the Azure Portal, stop each VM and confirm the status is Stopped (deallocated).
- When you are finished with the lab, delete the entire
rg-linux-labresource group. - Verify the resource group, VMs, disks, public IPs, and network interfaces are gone.
Deallocating stops VM compute charges. Deleting the resource group is the cleanest way to remove disks, public IPs, and other billable resources.
You're Done with Part 1
You now have the Linux fundamentals that most people skip over or learn haphazardly. The commands in this lab are the same ones senior engineers use every day — the only difference is speed and instinct, and those come with repetition.
Keep practicing. Break things on purpose. Read error messages instead of panicking. That's how you go from "I did a lab" to "I know Linux."