Hello everyone! π
Welcome to Week 1 of my DevOps learning journey.
As a final-year BCA student specializing in Cloud Computing, I have decided to document my journey toward becoming a DevOps Engineer. This blog series will cover everything I learn, from Linux fundamentals to cloud computing, containers, CI/CD, Kubernetes, and monitoring tools.
Since Linux is the backbone of most DevOps environments, I decided to start my journey by learning Linux fundamentals and essential commands.
Why Linux Matters in DevOps
Most servers in cloud environments run Linux. Whether you’re working with AWS EC2 instances, Docker containers, Kubernetes clusters, or CI/CD pipelines, Linux knowledge is essential.
As a DevOps Engineer, you’ll frequently:
Manage Linux servers
Deploy applications
Troubleshoot issues
Monitor system performance
Automate tasks using shell scripts
That’s why Linux is often considered the first skill every DevOps engineer should master.
What I Learned This Week
Understanding the Linux File System
One of the first things I learned was how Linux organizes files and directories.
Some important directories include:
/ β Root directory
/home β User home directories
/etc β Configuration files
/var β Logs and variable data
/tmp β Temporary files
/usr β User programs and utilities
Understanding the file system structure helps navigate servers more effectively.
Basic Navigation Commands
I practiced several commands used daily by Linux administrators.
Check Current Directory
pwd
Enter fullscreen mode
Exit fullscreen mode
List Files and Directories
ls
ls -l
ls -la
Enter fullscreen mode
Exit fullscreen mode
Change Directory
cd /home
Enter fullscreen mode
Exit fullscreen mode
Create Directory
mkdir project
Enter fullscreen mode
Exit fullscreen mode
Remove Directory
rmdir project
Enter fullscreen mode
Exit fullscreen mode
File Management Commands
Working with files is a common task in Linux.
Create a File
touch file.txt
Enter fullscreen mode
Exit fullscreen mode
Copy Files
cp file.txt backup.txt
Enter fullscreen mode
Exit fullscreen mode
Move Files
mv file.txt documents/
Enter fullscreen mode
Exit fullscreen mode
Delete Files
rm file.txt
Enter fullscreen mode
Exit fullscreen mode
View File Content
cat file.txt
Enter fullscreen mode
Exit fullscreen mode
Viewing System Information
I also learned how to check system details.
Check CPU Information
lscpu
Enter fullscreen mode
Exit fullscreen mode
Check Memory Usage
free -h
Enter fullscreen mode
Exit fullscreen mode
Check Disk Usage
df -h
Enter fullscreen mode
Exit fullscreen mode
Check Running Processes
ps -ef
Enter fullscreen mode
Exit fullscreen mode
Monitor Processes in Real Time
top
Enter fullscreen mode
Exit fullscreen mode
Understanding Permissions
Linux uses permissions to control access to files and directories.
I learned about:
Read (r)
Write (w)
Execute (x)
Viewing permissions:
ls -l
Enter fullscreen mode
Exit fullscreen mode
Changing permissions:
chmod 755 script.sh
Enter fullscreen mode
Exit fullscreen mode
Changing ownership:
chown user:user file.txt
Enter fullscreen mode
Exit fullscreen mode
Permissions are critical for maintaining system security.
Service Management
One interesting topic was managing services using systemctl.
Check Service Status
systemctl status nginx
Enter fullscreen mode
Exit fullscreen mode
Start a Service
systemctl start nginx
Enter fullscreen mode
Exit fullscreen mode
Stop a Service
systemctl stop nginx
Enter fullscreen mode
Exit fullscreen mode
Restart a Service
systemctl restart nginx
Enter fullscreen mode
Exit fullscreen mode
This is especially useful when managing web servers and applications.
Viewing Logs
Logs help identify issues and troubleshoot systems.
tail -f /var/log/messages
Enter fullscreen mode
Exit fullscreen mode
journalctl -xe
Enter fullscreen mode
Exit fullscreen mode
Understanding logs is one of the most important skills for troubleshooting production systems.
My First Bash Script
I wrote a simple script to check whether Nginx is running.
#!/bin/bash
if systemctl is-active –quiet nginx
then
echo “Nginx is running”
else
echo “Nginx is not running”
fi
Enter fullscreen mode
Exit fullscreen mode
This helped me understand:
if-else conditions
shell scripting basics
automation concepts
It was my first step toward infrastructure automation.
Challenges I Faced
During my learning, I encountered a few challenges:
Understanding Linux permissions
Navigating directories quickly
Reading system logs
Writing Bash scripts correctly
After practicing commands repeatedly and experimenting on AWS EC2 instances, these concepts became much clearer.
Key Takeaways
This week taught me that Linux is much more than just a command-line operating system.
I learned:
β Linux file system structure
β Essential Linux commands
β File and directory management
β System monitoring basics
β Service management
β Log analysis
β Bash scripting fundamentals
Most importantly, I realized that strong Linux fundamentals make learning DevOps tools much easier.
What’s Next?
In Week 2, I plan to learn:
Advanced Linux Commands
User and Group Management
Networking Basics
SSH and Remote Access
Package Management
More Bash Scripting
Final Thoughts
Every DevOps Engineer starts somewhere, and Linux is the perfect place to begin.
This week gave me a solid foundation and increased my confidence in working with servers and cloud environments. I’m excited to continue learning and sharing my progress through this blog series.
If you’re also starting your DevOps journey, feel free to connect and share your experiences.
See you in Week 2! π





Leave a Reply