This content originally appeared on DEV Community and was authored by Suvrajeet Banerjee
Hey DevOps enthusiasts! 🌟 If you're like me, diving into Week 1 of Pravin Mishra's free DevOps cohort felt like unlocking a treasure chest of practical skills. Building on the Week 0 foundations, this session was a whirlwind of Linux magic. We went from understanding why Linux reigns supreme in cloud and DevOps to deploying real apps on AWS. No fluff—just hands-on action that had me hooked from the first command. Whether you're a beginner or brushing up, let's break it down with key takeaways, tips, and even some real-world wins from fellow cohort members. Ready to level up? Let's dive in! 💻
🌐 Why Linux Dominates DevOps & Cloud Engineering
🚨 Over 80% of cloud workloads run on Linux—it's the backbone for containers, automation tools like Terraform and Ansible, and DevOps practices. As emphasized in the cohort, mastering Linux isn't optional; it's essential for troubleshooting and scaling in real-world scenarios.
- 🔑 Key Insight: Linux is open-source, stable, secure, and flexible. No need for antivirus headaches like on Windows—perfect for servers! It started as a hobby project by Linus Torvalds in the early 1990s and has grown to power smartphones, supercomputers, and more, with over 90% of global servers relying on it.
- 📊 Stats That Hook: 80-90% of containers and Terraform setups rely on Linux. If you're in DevOps, ignoring it is like building a house without foundations. The open-source nature under the GNU General Public License allows anyone to view, modify, and share code, fostering global collaboration.
Fellow learners shared how Linux's layered structure—kernel for hardware control, shell for commands, libraries, utilities, and applications—makes it reliable across devices. One cohort member noted how exploring this transformed their workflow from theory to practice.
🧠 Demystifying Operating Systems & Linux Architecture
🤖 An OS is the "brain" of your computer, managing hardware like CPU, RAM, and storage. Linux shines here with resource management, process handling, file systems, and security.
- 🛡️ Core Components: Kernel (the bridge to hardware), utilities, apps, and user interfaces. Understanding layers helps in troubleshooting—like fixing a buggy app by checking kernel interactions.
- 📚 Distributions Galore: Ubuntu for ease, CentOS/Amazon Linux for enterprise. We used Ubuntu and Amazon Linux 2 in the bootcamp—pro tip: Choose based on your cloud provider (e.g., Amazon Linux for AWS).
💻 Hands-On: Setting Up Linux VM on AWS EC2
🌥️ No theory without practice! We created a Linux VM on AWS EC2—free tier eligible to avoid bills. One common hurdle was disk space issues during installs, where the default 8GB filled up quickly, leading to errors like "no space left on device." Resizing the EBS volume to 16GB and using commands like lsblk
, sudo growpart /dev/xvda 1
, and sudo resize2fs /dev/xvda1
fixed it, confirming with df -h
.
- 🔑 Steps to Launch:
- Sign into AWS, select region (e.g., Stockholm for low latency).
- Launch EC2 instance: Choose Ubuntu Server 22.04 LTS, t3.micro (free tier), create key pair for SSH. Set inbound rules for SSH (port 22) and HTTP (port 80).
- Connect via SSH: First,
chmod 400 key.pem
, thenssh -i key.pem ubuntu@public-ip
—boom, you're in! For Windows, use WSL or Git Bash for smoother permissions.
- ⚠️ Pro Tip: Use
whoami
to check your user (regular vs. root). Switch to root withsudo su
for elevated perms. Clean up broken installs withsudo apt-get purge -y nodejs npm
andsudo apt-get autoremove -y
before reinstalling via nvm for version control.
Cohort experiences highlighted how this setup boosted confidence, from configuring VPC with CIDR to exploring services like EC2, S3, and RDS.
🛠️ Linux Shell & Command Mastery: From Basics to Power Moves
📟 The Linux shell (CLI) is your command center—no GUI needed for servers. Here's a deep dive into 20 essential commands, expanded from cohort discussions, with explanations and examples.
- 🚀 Navigation Essentials:
-
pwd
: Print working directory—e.g.,pwd
outputs/home/user/projects
. Useful to avoid getting lost. -
cd
: Change directory—e.g.,cd ~/Documents/work
. Faster than GUI navigation. -
ls
: List files—add-l
for details,-a
for hidden. Great for quick file overviews.
-
- 📝 File Ops:
-
touch
: Create files—e.g.,touch newfile.txt
. -
nano
orvim
: Edit—e.g.,nano App.js
, save with Ctrl+O then Ctrl+X. Exit vim with:wq
. -
cat
: View contents—e.g.,cat notes.txt
. Quick inspection without editors. -
file
: Identify type—e.g.,file image.png
outputs PNG data.
-
- 🔒 Permissions & Ownership:
-
chmod
: Change modes—e.g.,chmod 755 file
for read/execute. -
chown
: Change owner—e.g.,chown user:group file
. -
grep
: Search—e.g., filter users in/etc/passwd
.
-
- 🌐 Networking & Utils:
-
curl
: Download from URL—e.g.,curl https://example.com
. -
find
: Locate files—e.g.,find . -name "*.txt"
. -
tar
: Archive—e.g.,tar -czf backup.tar.gz folder/
. -
zip/unzip
: Handle zips—e.g.,zip -r project.zip folder/
. -
less/more
: View large files page by page—e.g.,less log.txt
. -
ssh
: Remote connect—e.g.,ssh user@ip
, setup keys withssh-keygen
. -
mv
: Move/rename—e.g.,mv old.txt new.txt
. -
sudo
: Admin rights—e.g.,sudo apt update
. -
apt/dnf
: Install software—e.g.,sudo apt install git
. -
top
: Monitor processes, CPU, memory.
-
These commands, like a "Swiss Army knife," make Linux efficient for everything from file management to remote access.
🔄 Process Management: Keeping Your System in Check
🕹️ Processes are running programs—foreground (interactive) vs. background (daemons).
- 📈 Monitoring Tools:
-
ps -e
: List all processes. -
top
: Real-time view—sort by CPU (P
) or memory (M
). -
kill <PID>
: Terminate—use-9
for force. -
pstree
: View hierarchy.
-
- ⚙️ Why It Matters: Spot resource hogs to prevent server crashes. Cohort members used these for admin mastery, like gathering system info with
uname -a
, uptime withuptime
, logged users withwho
, memory withfree -h
, disk withdf -h
, and directory sizes withdu -sh /var/*
.
🌐 Networking Commands: Connectivity & Troubleshooting
🔌 Debug like a pro—ensure your app is reachable.
- 📡 Key Commands:
-
ifconfig
: Network interfaces—view config. -
ping
: Test connectivity—e.g.,ping -c 4 site.com
. -
netstat -tulnp
: Open ports and services. -
dig
orhost
: DNS lookups—e.g.,dig domain.in
. -
wget
: Download—e.g.,wget url.png
.
-
📝 Deploying a React App: Hands-On Milestone
🏆 One highlight was deploying a React app on Ubuntu with Nginx. From launching EC2 to serving via public IP, it bridged Linux and cloud skills.
- 🚀 Detailed Steps:
- Update:
sudo apt update
. - Install Node/npm:
sudo apt install -y nodejs npm
, verify versions. - Install Nginx:
sudo apt install -y nginx
, start/enable withsystemctl
. - Clone Repo:
git clone https://github.com/repo.git
,cd repo
. - Edit App.js: Use nano to add personal details like "Deployed by: Name" and date.
- Build:
npm install
,npm run build
. - Deploy to Nginx: Clear
/var/www/html/*
, copybuild/*
, set ownershipchown www-data:www-data
, permissionschmod -R 755
. - Configure Nginx: Echo server block to
/etc/nginx/sites-available/default
, restartsystemctl restart nginx
. - Get IP:
curl ifconfig.me
. - Access: http://—see your app live!
- Update:
Cohort reflections: What seemed like rocket science became achievable with mentorship. Errors like disk space were fixed by resizing volumes, and using nvm for Node versions ensured smooth installs. This reinforced DevOps mindset—automating, securing, and scaling apps.
🎉 Wrapping Up: Energy, Community & Next Steps
🔥 After 7+ hours, we were drained but buzzing! Breaks, role-plays, and chats kept it engaging. Huge shoutout to Pravin and team for the structure—feedback helped refine it. Skills like network config, process control, and deployments built confidence for real projects.
This is the 2nd blog post of the DevOps series covering the lessons from Week 1 of the free DevOps cohort by Pravin Mishra sir in continuation of What Fuels the Internet & Prerequisites for DevOps Cohort Week-0. From now on, I'll be posting a new blog in this DevOps series to keep myself accountable, share learnings, and give back to the community. In a world where tech evolves rapidly, documenting these journeys not only solidifies knowledge but also inspires others to tackle challenges head-on—whether it's debugging a deployment or mastering a new command. Join the conversation: What's your fave Linux command? Drop it below! 🚀
Stay tuned for Week 2—Docker & Containers incoming! 👋
This content originally appeared on DEV Community and was authored by Suvrajeet Banerjee

Suvrajeet Banerjee | Sciencx (2025-08-22T18:22:31+00:00) 🚀 Linux for DevOps [Week 1]: Mastering the Essentials. Retrieved from https://www.scien.cx/2025/08/22/%f0%9f%9a%80-linux-for-devops-week-1-mastering-the-essentials/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.