<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: prash 1</title>
    <description>The latest articles on DEV Community by prash 1 (@prash_1_9a3a6266c93cd7276).</description>
    <link>https://dev.to/prash_1_9a3a6266c93cd7276</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4040654%2Fdb1ef823-ea25-4699-8302-75b52ac1669c.jpeg</url>
      <title>DEV Community: prash 1</title>
      <link>https://dev.to/prash_1_9a3a6266c93cd7276</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/prash_1_9a3a6266c93cd7276"/>
    <language>en</language>
    <item>
      <title>DEVOPS</title>
      <dc:creator>prash 1</dc:creator>
      <pubDate>Tue, 21 Jul 2026 19:07:02 +0000</pubDate>
      <link>https://dev.to/prash_1_9a3a6266c93cd7276/devops-3bbi</link>
      <guid>https://dev.to/prash_1_9a3a6266c93cd7276/devops-3bbi</guid>
      <description>&lt;h1&gt;
  
  
  Why Every DevOps Engineer Needs to Fall in Love With Linux (Before Anything Else)
&lt;/h1&gt;

&lt;p&gt;When I started learning DevOps, I made the classic beginner mistake. I jumped straight into Docker tutorials, then AWS, then Kubernetes — because those are the tools that show up in every job description and every flashy YouTube thumbnail. Linux felt boring. Old. Something my seniors used because "that's just how it's always been done."&lt;/p&gt;

&lt;p&gt;It took me exactly one broken container, one failed SSH connection, and one very confused 2 AM debugging session to realize I had it backwards.&lt;/p&gt;

&lt;p&gt;Here's the truth nobody tells you early enough: &lt;strong&gt;Docker runs on Linux. AWS servers run on Linux. Your CI/CD pipelines run on Linux. Kubernetes nodes run on Linux.&lt;/strong&gt; Skip Linux, and you're building a house on a foundation you don't understand.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Terminal Isn't Scary — It's Honest
&lt;/h2&gt;

&lt;p&gt;The first time I opened a terminal, it felt like staring into a black hole with a blinking cursor judging me. No buttons. No menus. Just... a prompt, waiting.&lt;/p&gt;

&lt;p&gt;But here's what changed my mind: the terminal doesn't hide anything from you. When something breaks in a GUI, you get a vague error popup and a spinning wheel. When something breaks in Linux, you get a log file that tells you &lt;em&gt;exactly&lt;/em&gt; what went wrong, on &lt;em&gt;exactly&lt;/em&gt; which line, at &lt;em&gt;exactly&lt;/em&gt; what time. Once I understood that, the terminal stopped being intimidating and started being the most honest tool I had.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Commands That Actually Matter (Not All 200 of Them)
&lt;/h2&gt;

&lt;p&gt;You don't need to memorize every Linux command that exists. I wasted weeks trying to do that. What you actually need is a small toolkit you can use without thinking:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Moving around and looking at things:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;pwd&lt;/span&gt;          &lt;span class="c"&gt;# where am I right now&lt;/span&gt;
&lt;span class="nb"&gt;ls&lt;/span&gt; &lt;span class="nt"&gt;-la&lt;/span&gt;       &lt;span class="c"&gt;# what's in this folder (including hidden files)&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; /var/log  &lt;span class="c"&gt;# go somewhere else&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Reading files without opening a heavy editor:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cat &lt;/span&gt;file.txt
less file.txt
&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; app.log     &lt;span class="c"&gt;# this one alone will save you during every production incident&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Finding things when you don't know where they are:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;find / &lt;span class="nt"&gt;-name&lt;/span&gt; &lt;span class="s2"&gt;"app.log"&lt;/span&gt;
&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="s2"&gt;"ERROR"&lt;/span&gt; app.log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Understanding what's actually running:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ps aux
top
&lt;span class="nb"&gt;kill&lt;/span&gt; &lt;span class="nt"&gt;-9&lt;/span&gt; 1234
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Permissions — the thing that confuses everyone at first:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;chmod&lt;/span&gt; +x script.sh
&lt;span class="nb"&gt;sudo chown &lt;/span&gt;user:group file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;That's genuinely 80% of what I use, daily, even now. The rest I look up when I need it. Nobody has every flag of every command memorized — including senior engineers.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Day I Understood Why Permissions Matter
&lt;/h2&gt;

&lt;p&gt;Early on, I got a &lt;code&gt;Permission denied&lt;/code&gt; error running a script and just typed &lt;code&gt;sudo&lt;/code&gt; in front of everything to make it go away. It worked, so I moved on.&lt;/p&gt;

&lt;p&gt;Later, on a real project, someone asked me why a config file had &lt;code&gt;777&lt;/code&gt; permissions (basically, "anyone can read, write, or execute this"). I didn't have an answer. That's when I actually sat down and learned what &lt;code&gt;chmod&lt;/code&gt; numbers mean — and realized I had been creating a security hole out of laziness, not understanding.&lt;/p&gt;

&lt;p&gt;That's the thing about Linux — it doesn't stop you from shooting yourself in the foot. It trusts you to know what you're doing. Which means you actually have to &lt;em&gt;learn&lt;/em&gt; what you're doing.&lt;/p&gt;

&lt;h2&gt;
  
  
  SSH: The Command That Makes You Feel Like a "Real" Engineer
&lt;/h2&gt;

&lt;p&gt;There's a specific moment every DevOps beginner remembers — the first time you SSH into a remote server and it actually connects.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ssh username@server-ip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Suddenly you're not clicking around a dashboard anymore. You're &lt;em&gt;inside&lt;/em&gt; a machine, potentially thousands of miles away, typing commands that actually do something. It's a small moment, but it's the moment Linux stops being "a thing I'm learning" and starts being "a tool I use."&lt;/p&gt;

&lt;h2&gt;
  
  
  Why This Matters Even More on AWS
&lt;/h2&gt;

&lt;p&gt;If you're heading toward cloud/DevOps work like I was, here's the part that made everything click: every EC2 instance you launch is (almost always) a Linux server. Every container you build with Docker is running on a Linux kernel underneath, even if you're on a Mac or Windows laptop. Every Kubernetes node is Linux.&lt;/p&gt;

&lt;p&gt;So when your app crashes at 2 AM and your manager asks "what happened," the answer isn't going to be found in a fancy AWS dashboard. It's going to be found in:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;tail&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; /var/log/app.log
journalctl &lt;span class="nt"&gt;-u&lt;/span&gt; myapp &lt;span class="nt"&gt;-f&lt;/span&gt;
&lt;span class="nb"&gt;df&lt;/span&gt; &lt;span class="nt"&gt;-h&lt;/span&gt;        &lt;span class="c"&gt;# is the disk full?&lt;/span&gt;
free &lt;span class="nt"&gt;-m&lt;/span&gt;      &lt;span class="c"&gt;# did it run out of memory?&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Linux is where the &lt;em&gt;real&lt;/em&gt; answers live. Everything else — Docker, Kubernetes, AWS — is just a nicer interface built on top of it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd Tell Someone Starting Today
&lt;/h2&gt;

&lt;p&gt;Don't try to "finish" Linux before moving to Docker or AWS — you never really finish learning it, and that's fine. But do get comfortable enough that a terminal doesn't scare you. Get to the point where &lt;code&gt;cd&lt;/code&gt;, &lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;cat&lt;/code&gt;, &lt;code&gt;grep&lt;/code&gt;, and &lt;code&gt;chmod&lt;/code&gt; feel like typing your own name.&lt;/p&gt;

&lt;p&gt;Break something on purpose. Delete a file you didn't need. Lock yourself out of a permission you set wrong. Fix it. That's how it actually sticks — not from reading a cheat sheet, but from being annoyed enough to figure it out yourself at 11 PM.&lt;/p&gt;

&lt;p&gt;Because eventually, when a container won't start, or a deployment silently fails, or a server runs out of disk space — you won't be the person waiting for someone else to fix it.&lt;/p&gt;

&lt;p&gt;You'll be the person who opens the terminal, types three commands, and just... knows.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>docker</category>
      <category>infrastructure</category>
      <category>linux</category>
    </item>
  </channel>
</rss>
