Hey everyone!👋
I am starting my DevOps journey and decided to document my weekly progress here on dev.to. This week, I focused on Linux basics, how to handle files and directories, and the basics of writing .sh files using the command line📑.

💪 What I Learned This Week

This week, I focused on building a strong foundation in Linux as part of my DevOps learning journey. Here’s what I covered:

  • 🧭 Navigating the filesystem with commands like pwd, cd, and ls
  • 📁 Creating and removing files and directories using touch, mkdir, and rm
  • 📄 Viewing file contents using cat, less, head, more, and tail
  • 🧹 Text processing using filter commands like grep and sort
  • 🛠️ Installing and using the vim text editor
  • 📝 Writing shell scripts and making them executable using:
    • #!/bin/bash
    • chmod +x filename

Example bash Script📝

#!/bin/bash
echo "Hello world! I am excited to start my DevOps journey."

Saved this script as hello_world.sh.

📂 GitHub Repository

I have created a GitHub repository where I am uploading all my scripts and practice exercises.
🔗 Linux_for DevOps

This repo includes:

  • All the scripts(.sh files)
  • Structured Readme.md files
  • Screenshots for example, scripts and their output

😱 Challenges I Faced During Learning

The first challenge that every beginner runs into is: "Where do I start?"

There are so many resources out there that it can feel overwhelming. I was confused about which platforms to trust and whether I needed to pay for a course. After exploring a few options, I decided to stick with free YouTube tutorials — and that turned out to be a good decision for me.

The next hurdle was figuring out: "Where should I actually practice Linux commands?"

Should I go with Oracle VirtualBox? Or maybe spin up an AWS EC2 instance? 🤔

I started with VirtualBox and installed the Ubuntu ISO, and just got my hands dirty! 💻

I actually found it super simple when I first started learning basic Linux commands.

But confusion hit me pretty early — especially with the cd command.

I wasn’t sure what the difference was between cd ~ and cd /.

Later, I figured out that:

  • cd ~ takes you to your home directory
  • cd / takes you to the root directory

Then I stumbled while using the cat command.

I wanted to write a message into a file and did something like:

cat "This is my message" > file.txt

That didn’t work the way I expected. I was mixing it up with how we use echo.
Eventually, I learned the right way to use cat for creating and writing into files is:

cat > file.txt

Later, I ran into another hiccup when I tried using the rmdir command to delete a directory.
It kept showing the error: "Directory not empty".
After some trial and error, I learned that if a directory isn’t empty, you need to use:

rm -r directory_name

Then I ran into issues when I tried uploading my files to GitHub.

Even though I entered the correct username and password, Git kept throwing authentication errors. 😤

I spent a few hours trying to fix it, and eventually decided to switch over to an AWS EC2 instance instead of using VirtualBox.

To my surprise, it was much simpler and smoother to work with Git on EC2. Everything just clicked into place! ⚡

⏭️ What’s Next?

In week 2, I will be diving deeper into:

  • 🧑‍💻 User & file permissions
  • 📦 Working with .tar and compressed files
  • 🔍 Regular Expressions (grep, sed, etc.)
  • ⏳ Additional topics depending on time availability

🙌 Final Thoughts

I'm enjoying the process so far. Linux is super powerful, and even small scripts can save a lot of time. I'm still learning and open to feedback or suggestions from the community.

If you're also on a DevOps or Linux journey, let’s connect! 🚀

Thanks for reading!
@vrj_bhvsr