Week 2 of My DevOps Journey : Hands-On with Linux and Shell Scripting

“The terminal doesn’t care how experienced you are. It only listens. And this week, I spent a lot of time talking to it.”
This week was all about putting my fingers to work on the keyboard — no overthinking, no diving into endless theory. Just practice.
No better way to start than with Linux commands and shell scripting.
🧱 What I Focused On
After laying the foundation last week, I doubled down on getting comfortable with the terminal. I didn’t go heavy on reading — instead, I focused on repeating the commands, exploring new ones, making mistakes, and letting the terminal correct me.
I learned:
🗂 Understanding the File System & Permissions
I spent a good part of the week exploring the Linux file system hierarchy — understanding what’s where, and why those directories like /etc
, /var
, and /usr
even exist. Creating and managing files and directories became more intuitive the more I played with them. I didn’t stop at mkdir
and touch
; I focused on doing more with files — renaming, moving, copying, and organizing them efficiently.
👥 User & Group Management
I worked through user and group management — creating users, adding them to groups, assigning permissions, and understanding the importance of roles. It wasn’t just about running useradd
and groupadd
but understanding how access control works.
Then came Linux permissions — the classic rwx
trio — followed by exploring ACLs (Access Control Lists) for more fine-grained control. That was an eye-opener. It showed me how flexible Linux can be when default permissions aren't enough.
Sudo, SSH & File Transfer
Learning the sudo
command made me feel like I unlocked “admin mode” — but with respect. Then I finally configured SSH access on WSL and practiced how to securely connect to a remote machine. While I couldn’t test scp
fully due to AWS payment issues, I still learned the syntax and flow. I know how to transfer files between systems and will get hands-on practice as soon as I get cloud access sorted.
Searching & Filtering with GREP & FIND
I went hands-on with grep
and find
— two incredibly powerful tools for searching through files and directories. I used grep
to filter logs and extract patterns, and find
to locate files based on time, name, and size. Super useful — and a huge step toward real-world debugging.
Controlling Services & Daemons
I also learned how to start, stop, enable, and check the status of background services and daemons using systemctl
. I didn’t know how clean and systematic Linux makes service management — it gave me more insight into how the OS runs behind the scenes.
My First Shell Script (And It Worked!)
I’ve started my journey into shell scripting! Wrote a simple .sh
file that:
Creates a folder automatically
Checks if a specific file exists before proceeding
It might sound basic, but it was such a rewarding moment to see a script run and perform a task for me. That’s the power of automation — and this is just the beginning.
⚠️ What Didn’t Work Out
I wanted to practice SSH and SCP this week — but I hit a wall.
When I tried to spin up an EC2 instance on AWS to do real remote login practice, my debit card got rejected during the setup process. AWS wouldn’t let me through.
So, I couldn't actually perform SSH and SCP operations on a remote server — but I understand the flow clearly and practiced everything I could locally on WSL.
Sometimes the problem isn’t technical — it’s practical. This was one of those moments.
🧠 What Helped Me
Most of my learning this week came from Shubham’s YouTube series on DevOps (TrainWithShubham). His way of explaining, especially for shell scripting, gave me enough clarity to start trying things out on my own without feeling overwhelmed.
I also referred to:
Some Stack Overflow threads for AWK confusion
ChatGPT (yeah, you know 😉) for some clarifications on syntax when stuck
🎯 The Real Win This Week?
It wasn’t a big feature or project or script.
The win was comfort — the growing confidence to open the terminal, break things, try again, and feel like I’m not just watching someone do it but doing it myself.
⚙️ Looking Ahead
Next, I want to deepen my shell scripting knowledge, build a few more automation scripts, and get into cron jobs and environment variables. Slowly but surely, I’m transitioning from a command user to a system thinker.
I’ll keep building this foundation, week after week.
If you’ve just started learning Linux or DevOps — stay consistent. It feels overwhelming at times, but the confidence that comes from understanding your system is worth every bit.
Until next week — I’ll keep exploring, building, and sharing this journey, one command at a time.
Subscribe to my newsletter
Read articles from Farhan Ali Bhat directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
