🚀 Week 1 of My DevOps Journey: Learning Linux Fundamentals and Essential Commands
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
List Files and Directories
ls
ls -l
ls -la
Change Directory
cd /home
Create Directory
mkdir project
Remove Directory
rmdir project
File Management Commands
Working with files is a common task in Linux.
Create a File
touch file.txt
Copy Files
cp file.txt backup.txt
Move Files
mv file.txt documents/
Delete Files
rm file.txt
View File Content
cat file.txt
Viewing System Information
I also learned how to check system details.
Check CPU Information
lscpu
Check Memory Usage
free -h
Check Disk Usage
df -h
Check Running Processes
ps -ef
Monitor Processes in Real Time
top
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
Changing permissions:
chmod 755 script.sh
Changing ownership:
chown user:user file.txt
Permissions are critical for maintaining system security.
Service Management
One interesting topic was managing services using systemctl.
Check Service Status
systemctl status nginx
Start a Service
systemctl start nginx
Stop a Service
systemctl stop nginx
Restart a Service
systemctl restart nginx
This is especially useful when managing web servers and applications.
Viewing Logs
Logs help identify issues and troubleshoot systems.
tail -f /var/log/messages
journalctl -xe
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
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! 🚀
Top comments (0)