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
, andls
- 📁 Creating and removing files and directories using
touch
,mkdir
, andrm
- 📄 Viewing file contents using
cat
,less
,head
,more
, andtail
- 🧹 Text processing using filter commands like
grep
andsort
- 🛠️ 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