Linux Basics
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.
IMPORTANT: Delete the Entire Resource Group
- Go to the Azure Portal and search for Resource groups
- Click on
rg-linux-lab(or whatever you named your resource group) - Click Delete resource group at the top of the page
- Azure will prompt you to type the resource group name to confirm — type it exactly and click Delete
- Wait for the deletion to complete. This removes the VM, disk, public IP, network interface, and everything else in one shot
If you do not delete the resource group, Azure will continue to charge you — even if the VM is stopped, the disk and public IP keep accruing charges. This is your responsibility, not mine. I take no responsibility for charges you incur by leaving resources running.
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."