Recently, when I decided to transition my career from Data analytics to Cloud & Devops engineer, and I discovered that learning linux was non-negotiable if I wanted a smoother journey.
Naturally, I started asking around to see if learning linux was difficult as people made it out to be. The consensus ? " linux is not inherently hard", instead it is splited into two distinct experiences, graphical user interface and command line interface.
Depending on your goals, it can be incredibly simple or deeply technical
But what exactly is the difference, and which one is the most critical for a DevOps Engineer to master?
Graphical User Interface (GUI) allows you to interact with a system using visual elements like icons, windows, and mouse clicks, the Command Line Interface (CLI) relies entirely on typing text-based commands into a terminal.
The core goal of DevOps is automation, scale, and speed. The GUI fundamentally breaks this goal, while the CLI enables it.
This blog post mainly showcase 30 important CLI commands every Cloud & Devops engineer should know if they want a smoother jounery.
📂 1. File & Directory Navigation
Before you can automate infrastructure, you have to know how to move around it.
• pwd (Print Working Directory): Shows you exactly where you are in the file system.
• ls (List): Lists all files and folders in your current directory. Use ls -la to see hidden files and permissions.
• cd (Change Directory): Moves you between folders (e.g., cd /var/log).
• mkdir (Make Directory): Creates a new folder (e.g., mkdir my-app).
• rmdir (Remove Directory): Deletes an empty directory.
📝 2. File Manipulation & Viewing
As a DevOps engineer, you will constantly edit configuration files, read logs, and move scripts around.
• touch: Creates a blank file instantly (e.g., touch deployment.yaml).
• cp (Copy): Copies files or directories. Use cp -r to copy folders recursively.
• mv (Move): Moves or renames files and directories.
• rm (Remove): Deletes files. Use rm -rf with caution to delete folders and their contents forcefully.
• cat (Concatenate): Displays the entire contents of a file on your screen.
• head / tail: Shows the beginning or end of a file. tail -f /var/log/nginx/error.log is essential for watching live logs.
• nano / vim: Text editors built directly into the terminal for modifying scripts and configurations.
🛡️ 3. Permissions & User Management
Linux handles security strictly. You must understand ownership to deploy applications safely.
• chmod (Change Mode): Alters file and folder permissions (e.g., chmod +x script.sh makes a script executable).
• chown (Change Owner): Changes the user and/or group ownership of a file.
• sudo (Superuser Do): Runs a command with administrative/root privileges.
• whoami: Displays the username of the current active session.
🔍 4. Searching & Text Processing
Infrastructure generates massive logs. These commands help you find exactly what you are looking for in seconds.
• grep: Searches for specific text patterns inside files (e.g., grep "ERROR" app.log).
• find: Searches for files and directories based on names, sizes, or dates.
• awk / sed: Powerful text processing tools used to manipulate and filter data streams inside automation scripts.
⚙️ 5. System Monitoring & Process Management
Cloud instances can run out of memory or freeze. You need to know how to check system health.
• top / htop: Displays interactive, real-time views of system resources, CPU, and RAM usage.
• ps (Process Status): Lists currently running processes. Often paired with grep (e.g., ps aux | grep node).
• kill: Stops a running process using its Process ID (PID).
• df (Disk Free): Shows available and used disk space across your system file paths.
• free: Displays total, used, and available physical and swap memory (RAM).
🌐 6. Networking & Connectivity
DevOps is entirely about connecting systems. These commands debug network traffic and APIs.
• ping: Tests the network connectivity between your machine and a remote host.
• curl / wget: Tools to download files or make HTTP requests to test APIs and web servers directly from the CLI.
• netstat / ss: Checks active network connections and identifies which applications are listening on specific ports.
• ip addr: Displays IP addresses and network interface details for your machine.
• ssh (Secure Shell): Logs you into remote Linux cloud servers securely over an encrypted connection.
Practice them all in a local machine, and you'll find your transition into Cloud and DevOps seamless.


