- Vishakha Sadhwani
- Posts
- Linux for DevOps
Linux for DevOps
How Much Prep and Practice Is Enough to Get You Ready for Interviews?
Hi Inner Circle,
Everyone keeps saying, “Learn Linux for DevOps” — but what does that actually mean?
The truth is, Linux isn’t just a topic to check off your list.
It’s the foundation of almost everything you do as a DevOps engineer — from running containers to provisioning infrastructure to debugging failures in production.
In this edition, I’ll walk you through:
Why Linux matters in DevOps workflows
Where it shows up in your day-to-day work
Real interview-style questions and scenarios
Getting Started: Projects and Resources
Also Linux command cheatsheet for reference

Let’s get into it.
Why Linux Skills Are Critical in DevOps
Whether you’re:
Deploying a Kubernetes cluster
Automating cloud infrastructure with Terraform or Pulumi
Troubleshooting a failed build pipeline
There’s a high chance you’re doing it on a Linux system — with a terminal open.
Linux powers the execution layer behind containers, cloud servers, CI/CD runners, monitoring agents, and more. So when interviews test Linux, they’re not testing if you know every flag of a command — they’re evaluating if you can debug real-world problems confidently and efficiently.
Linux for DevOps — Real-World Scenarios and How to Approach Them
1. A deployment failed and your app isn’t coming back up. How do you troubleshoot it on a Linux server?
What they’re evaluating: Your process for debugging services, logs, and file systems.
Sample approach:
SSH into the instance
Check service status:
systemctl status <service>
View recent logs:
journalctl -xe
Inspect running processes:
ps aux | grep <app>
Check disk usage:
df -h
Validate file permissions:
ls -lah <config-path>
(to ensure the service isn’t failing due to access issues, check file permissions and ownership - misconfigured
chmod
or missing execute rights often break deployments silently)
2. You’re asked to find and kill all processes using more than 80% CPU.
What they’re evaluating: Your ability to monitor and manage resources efficiently.
Sample approach:
Use
top
to confirm visuallyAutomate with:
ps aux | awk '$3 > 80 {print $2}' | xargs kill -9
$3
= CPU usageawk
filters processes using >80% CPUxargs kill -9
force-kills them
Validate CPU drop using
uptime
ortop
3. Logs aren’t rotating and disk is filling up. What do you check?
What they’re evaluating: Knowledge of logging systems and disk inspection.
Sample approach:
Check disk usage:
df -h
List log files by size:
ls -lhS /var/log
Simulate logrotate:
logrotate -d /etc/logrotate.conf
Check cron job execution:
crontab -l
grep CRON /var/log/syslog
4. You need to regularly fetch the last 100 lines of a 2GB log file.
What they’re evaluating:
Your ability to work with large log files efficiently and automate simple data extraction.
Sample approach:
Step 1: Use tail
for fast access
tail -n 100 /path/to/large.log
tail
: Outputs the end of a file.-n 100
: Prints the last 100 lines only (avoiding memory-heavy operations like opening the whole file in an editor).Efficient because it reads from the end — ideal for logs that grow over time.
Step 2: Automate with a script
#!/bin/bash
tail -n 100 /path/to/large.log >> /var/log/summary.log
#Schedule using cron
#Edit the crontab:
crontab -e
#and add this line:
*/30 * * * * /path/to/script.sh
Cron breakdown:
*/30
: Every 30 minutes*
: (Every hour)*
: (Every day of the month)*
: (Every month)*
: (Every day of the week)
This means: run the script every 30 minutes — like at 00:00, 00:30, 01:00, 01:30, and so on.
5. You want to monitor CPU, memory, and disk usage every 30 minutes.
What they’re evaluating:
Your ability to write lightweight monitoring scripts and log system health data over time.
Sample Approach:
Step 1: Write the script
#!/bin/bash
echo "=== $(date) ===" >> /var/log/resource.log
# Top 5 lines from top command (includes load averages, tasks, CPU usage)
top -b -n1 | head -5 >> /var/log/resource.log
# Disk usage
df -h >> /var/log/resource.log
# Memory usage
free -m >> /var/log/resource.log
# cron job
#and add this line:
*/30 * * * * /var/log/resource.log
Over time, this log helps identify usage patterns or investigate system slowdowns — and it’s a great talking point in interviews for showing initiative and scripting capability.
These are just a few scenario-based questions and sample answers.
Remember — there’s no single right or wrong answer, it’s the approach that truly matters.
Practice with Intention
Instead of memorizing commands, ask yourself:
When would I use this in my workflow?
What type of failure would this solve?
Could I explain this to someone else (or in an interview)?
Getting Started: Projects and Resources
Spin up a Linux VM (or use free credits):
Follow structured tutorials:
Linux Journey – beginner-friendly path
OverTheWire: Bandit – hands-on Linux puzzles
Document your journey on GitHub:
Use folders per topic, commit your scripts and notes, and write README files with explanations. Sharing your work boosts retention and visibility.
Top GitHub Repos to Learn Linux
Final Thoughts
Linux isn’t just one of many tools — it’s the environment where nearly everything runs.
If you want to build real DevOps confidence:
Focus on real scenarios, not rote commands
Practice by writing and tweaking scripts
Build your mental model of the Linux environment
See you Thursday — we’ll break down how Git actually works under the hood and how to debug it when your pipelines go wrong.
— Vishakha
News you’re not getting—until now.
Join 4M+ professionals who start their day with Morning Brew—the free newsletter that makes business news quick, clear, and actually enjoyable.
Each morning, it breaks down the biggest stories in business, tech, and finance with a touch of wit to keep things smart and interesting.