# 📈From Zero to DevOps: My First Week with Linux Commands🐧

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📝

```bash
#!/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](https://github.com/vrjbhvsr/linux_for_DevOps_Practice.git)

> **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:  
```bash
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:
```bash
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:
```bash
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 



