Skip to main content

Command Palette

Search for a command to run...

Going Deeper into Linux: From Commands to Automation

Updated
โ€ข5 min readโ€ขView as Markdown
Going Deeper into Linux: From Commands to Automation
A
I'm a Computer Science student passionate about Cloud, DevOps, I enjoy building production-ready systems with AWS, Docker, Kubernetes, Terraform, and CI/CD. This blog documents my journey, projects, and lessons as I work toward becoming a global DevOps engineer.

This week, I went deeper into one of the most important foundations for DevOps โ€” Linux.

Earlier, I knew the basic commands and could navigate around the terminal. But this week, I focused more on understanding Linux from a system administration and DevOps perspective.

Instead of just memorizing commands, I tried to understand where they're used and why they matter in real-world environments.

๐Ÿ—‚๏ธ File & Directory Management

I revised and explored essential commands used while working with files and directories:

  • ls, cd, pwd

  • mkdir

  • rm and rmdir

  • cat and zcat

  • touch

  • head

  • tail -f

  • less and more

  • cp and mv

  • wc

  • vi

  • ln (Hard Links & Soft Links)

  • cut, tee, sort

  • diff

These commands might seem basic individually, but together they form the foundation of working efficiently inside a Linux environment.


๐Ÿ‘ค User, Group & Permission Management

I also explored how Linux manages users, groups, ownership, and permissions.

Some of the commands I practiced:

  • sudo

  • useradd

  • whoami

  • su

  • passwd

  • userdel

  • groupadd

  • gpasswd

  • groupdel

Along with permission-related commands:

  • umask

  • ls -l

  • chmod

  • chown

  • chgrp

This helped me better understand how Linux handles access control and security, which becomes especially important when managing production servers.


๐Ÿ“ฆ Compression & File Transfer

I explored tools for compressing, archiving, and transferring files:

  • zip, unzip

  • gzip, gunzip

  • tar

  • scp

  • rsync

These tools are commonly used when working with remote servers and cloud environments.


๐ŸŒ Networking Commands

Networking was one of the most interesting areas I explored.

Some commands included:

  • ping

  • netstat

  • ifconfig

  • traceroute and tracepath

  • mtr

  • nslookup

  • hostname

  • ip

  • ss

  • arp

  • dig

  • nc (Netcat)

  • nmap

  • wget

  • curl

  • iptables

I also explored comparisons like:

  • curl vs wget

  • traceroute vs tracepath

  • netstat vs ss

Learning these tools made me realize how much easier troubleshooting becomes when you understand what is happening at the network level.


โš™๏ธ System, Process & Resource Management

I explored several commands used to understand system information and monitor processes:

  • uname

  • uptime

  • date

  • which

  • id

  • shutdown

  • reboot

For process and resource monitoring:

  • ps

  • top

  • fuser

  • kill

  • nohup

  • free

  • vmstat

  • df

  • du

I also got familiar with different package managers:

  • apt

  • yum

  • dnf

  • pacman


๐Ÿ’พ Linux Storage & LVM

Towards the end of the week, I went deeper into storage management concepts:

  • Physical Volumes

  • Volume Groups

  • Logical Volumes

  • LVM (Logical Volume Manager)

  • Mounting volumes

  • AWS EBS integration with Linux

This was particularly interesting because it connected my Linux learning with AWS and cloud infrastructure.

Understanding how storage works inside Linux makes services like EBS much easier to understand beyond simply clicking buttons in the AWS console.


๐Ÿ“ Currently Learning: Shell Scripting

The next step in my Linux journey is Shell Scripting.

Learning commands is useful, but being able to combine those commands into scripts and automate repetitive tasks is where things start becoming much more practical.

I'm currently working on understanding how to:

  • Write Bash scripts

  • Work with variables

  • Take user input

  • Use conditional statements

  • Work with loops

  • Create functions

  • Automate repetitive system tasks

This is the part I'm particularly excited about because it connects Linux knowledge with automation.

Instead of manually running:

command1
command2
command3
command4

The goal is to start thinking:

Can I automate this? Can I turn this into a script?

And I think that's where Linux starts becoming much more valuable for a DevOps engineer.


๐Ÿš€ My Biggest Takeaway

This week made me realize that learning Linux isn't about memorizing hundreds of commands.

It's about understanding:

  • How users interact with systems

  • How files and permissions are managed

  • How processes run

  • How networking works

  • How storage is organized

  • And now, how repetitive tasks can be automated using Shell Scripts

I'm gradually moving from running commands manually โ†’ understanding the system โ†’ automating workflows.

That progression feels much more meaningful than simply completing a list of Linux commands.

As I continue my journey into Cloud and DevOps, my next focus is to strengthen Shell Scripting and start building small automation projects around the Linux concepts I'm learning.

One command at a time. One script at a time. One step closer to becoming better at DevOps. ๐Ÿง๐Ÿš€

#Linux #DevOps #ShellScripting #Bash #CloudComputing #AWS #Automation #SystemAdministration #LearningInPublic

Building in DevOps

Part 4 of 5

A practical series documenting my hands-on work with cloud infrastructure, containers, Kubernetes, automation, CI/CD, monitoring, and the debugging challenges that come with deploying real applications.

Up next

From Architecture to Deployment: Building a Production-Ready Two-Tier Flask Application on AWS

This week, I focused less on learning individual AWS services and more on understanding how those services fit together to build a real application architecture. To put that knowledge into practice, I