Learn the Linux basics every Cloud & DevOps engineer uses daily - explained in a simple and practical way.
Before learning AWS, Docker, Kubernetes, or DevOps tools, one important thing every engineer should understand is Linux.
Many beginners think Linux is difficult because they see terminals, commands, and black screens.
But in reality, Linux becomes much easier once you understand the basics step by step.
And the best part?
👉 You do not need to be an expert or even come from a technical background to start learning Linux.
In this post, we'll understand Linux in the simplest possible way before moving into practical commands and real-world usage.
So before jumping into commands, let's first understand:
What Linux is
Why Linux is important
How Linux works in real-world cloud environments
🐧 What is Linux?
Linux is an operating system - just like Windows or macOS.
An operating system is the software that helps users interact with a computer and manage hardware resources like:
memory
storage
CPU
files
and applications
Most servers around the world run on Linux because it is:
fast
stable
secure
lightweight
and highly customizable
Today, Linux powers:
cloud servers
websites
Kubernetes clusters
Docker containers
supercomputers
and even Android phones
☁️ Why Linux is Important for Cloud & DevOps
When working in Cloud or DevOps, you will constantly interact with Linux systems.
For example:
AWS EC2 instances mostly use Linux
Docker containers run on Linux-based systems
Kubernetes nodes commonly use Linux
CI/CD tools like Jenkins are usually hosted on Linux servers
This is why Linux fundamentals are considered one of the most important skills for Cloud Engineers and DevOps Engineers.
⚙️ How Linux Works (Simple Explanation)
Linux mainly works through:
Kernel
👉 The core part of Linux that communicates with hardware.
Shell
👉 The command-line interface where users type commands.
File System
👉 Organizes files and directories.
Services & Processes
👉 Programs running in the background like web servers or databases.
When we type commands in the terminal, Linux processes those commands and performs actions inside the system.
That's why learning Linux commands is extremely important.
When people start learning Cloud or DevOps, they usually focus directly on AWS, Docker, or Kubernetes.
But one thing I quickly realized during my learning journey is this:
👉 Strong Linux fundamentals make everything easier.
Most cloud servers run on Linux.
Whether it's AWS EC2, Docker containers, Kubernetes nodes, or CI/CD servers like Jenkins - Linux is everywhere.
So in this post, I'm sharing some Linux commands that every beginner Cloud or DevOps engineer should know.
I'll keep the explanations simple and practical so even someone from a non-technical background can follow along.
🐧 1. pwd - Print Working Directory
This command shows your current location inside the Linux system.
pwd
📌 Example:
/home/ubuntu
Think of it like checking your current location on Google Maps.
📂 2. ls - List Files and Folders
Used to view files and directories.
ls
Useful variations:
ls -l
ls -a
-l → detailed view
-a → shows hidden files
📁 3. cd - Change Directory
Used to move between folders.
cd Documents
Go back one folder:
cd ..
Go to home directory:
cd ~
📄 4. cat - View File Content
Displays file contents.
cat file.txt
Very useful for reading configuration files.
✏️ 5. nano - Edit Files
Simple text editor inside Linux.
nano file.txt
Useful for editing:
configuration files
scripts
application settings
🗑️ 6. rm - Remove Files
Deletes files or folders.
rm file.txt
Delete folder:
rm -r foldername
⚠️ Be careful.
Linux usually deletes permanently.
📦 7. mkdir - Create Directory
Creates a new folder.
mkdir project
📋 8. cp - Copy Files
Copies files from one location to another.
cp file.txt backup.txt
🚚 9. mv - Move or Rename Files
Rename file:
mv old.txt new.txt
Move file:
mv file.txt /home/ubuntu/Documents
👀 10. top - View Running Processes
Shows system resource usage in real time.
top
Useful for checking:
CPU usage
Memory usage
Running processes
🌐 11. ping - Test Network Connectivity
Checks if a server or website is reachable.
ping google.com
Very useful while troubleshooting networking issues.
🔍 12. grep - Search Inside Files
Searches for words or patterns.
grep error logfile.txt
Useful for:
finding errors
checking logs
searching configuration values
🔐 13. chmod - Change File Permissions
Used to control who can access a file.
chmod 755 script.sh
This is extremely important in Linux administration and DevOps.
👤 14. sudo - Run as Administrator
Some commands require admin privileges.
sudo apt update
Think of this as "Run as Administrator" in Windows.
⚙️ 15. systemctl - Manage Services
Used to start, stop, and check services.
Check service status:
systemctl status nginx
Start service:
sudo systemctl start nginx
This command is heavily used in servers and cloud environments.
🧾 Simple Bash Script Example
One of the most useful skills in Linux is automation using shell scripts.
A shell script is simply a file that contains Linux commands which can run automatically.
Example Script
Create a file:
nano backup.sh
Add this:
!/bin/bash
echo "Starting Backup..."
mkdir backup
cp file.txt backup/
echo "Backup Completed"
Save the file and give execution permission:
chmod +x backup.sh
Run the script:
./backup.sh
👉 This is how automation starts in Linux and DevOps.
Even simple scripts can save time and reduce manual work.
📁 Important Linux Directories
Understanding Linux directories is also very important for Cloud and DevOps engineers.
DirectoryPurpose : /Root directory, homeUser home folders, /etcConfiguration files, /varLogs and variable data, /tmpTemporary files, /binBasic Linux commands, /optOptional software, /rootRoot user home directory
Think of these like different departments inside a company - each directory has its own responsibility.
🔐 Linux File Permissions
Linux controls who can:
read
write
or execute files
Permission symbols:
r = read
w = write
x = execute
Example:
chmod 755 script.sh
This is one of the most important concepts in Linux administration.
🌐 Essential Networking Commands
Check IP address:
ip addr
Check connectivity:
ping google.com
Test HTTP request:
curl google.com
Check open ports:
ss -tulnp
Find DNS information:
nslookup google.com
These commands are heavily used while troubleshooting servers and cloud environments.
🛠️ Mini Challenge
Try this on your Linux system or EC2 instance:
Task:
Create a folder called cloudjourney
Create a file inside it
Add some text using nano
View the content using cat
Check your current directory
👉 In the next post, I'll share the solution and explain the practical workflow.
🎯 Final Thoughts
Linux may feel confusing at first, but once you start practicing daily, it becomes much easier.
For Cloud and DevOps engineers, Linux is not optional - it's one of the most important foundational skills.
The goal is not to memorize commands.
The goal is to understand how systems work and become comfortable using the terminal.
More topics coming soon in the Cloud Engineer Journey series ☁️
Top comments (2)
Excellent guide that effectively demystifies Linux by focusing on the specific commands and concepts that actually matter for DevOps and Cloud workflows. The "failed-to-fixed" mindset integrated into the learning path makes it a practical roadmap for anyone looking to build a solid infrastructure foundation.
Thank you so much for you kind words , its give me the motivates me to continue posting, and I'm happy to hear the its may help others .