What is Linux? (The Real Answer)
Let me cut through the marketing speak. Linux isn't magic. It's not revolutionary. It's just... good.
Really good.
The Simple Truth
Linux is an operating system. Like Windows. Like macOS. But different.
Here's the difference: Linux gives you control. Complete control.
Want to see the source code? It's there. Want to modify it? Go ahead. Want to understand how it works? Everything is visible.
That's Linux.
A Brief History (The Important Parts)
- Linus Torvalds. Finnish student. Wanted Unix. Couldn't afford it. Built his own.
That's the origin story. Simple. Real.
He posted online: "I'm doing a (free) operating system (just a hobby, won't be big and professional)."
He was wrong. It became huge. It became professional. It became the foundation of modern computing.
Today, Linux runs:
- 90%+ of cloud servers
- All Android phones (billions of them)
- Most supercomputers
- Internet infrastructure
- Your router, your smart TV, your IoT devices
One student's project. Now everywhere.
How Linux Actually Works (The Three Layers)
I think of Linux in three layers. Not because three is special, but because it's how I understand it.
Layer 1: The Kernel
The kernel is Linux. Everything else is built on top.
Think of it like the foundation of a house. You don't see it, but everything depends on it.
The kernel:
- Talks to hardware (CPU, memory, disk, network)
- Manages resources (who gets what)
- Controls processes (what runs)
- Provides security (who can do what)
Real talk: You'll rarely interact with the kernel directly. But understanding it helps everything else make sense.
Layer 2: System Tools
System tools are what you actually use. Commands like ls, cd, cp, mv.
These are the tools that make the kernel useful. Without them, the kernel is just... there. With them, you can actually do things.
Real talk: You'll use these every day. Learn them well.
Layer 3: Applications
Applications are what you run. Web servers. Databases. Your programs.
These are built on top of the system tools, which are built on top of the kernel.
Real talk: This is where you'll spend most of your time. But understanding layers 1 and 2 makes layer 3 make sense.
Linux Distributions (The Confusing Part)
Here's where it gets confusing: Linux is just the kernel. But when people say "Linux," they usually mean a "Linux distribution."
A distribution is:
- Linux kernel
- System tools
- Package manager
- Desktop environment (sometimes)
Think of it like Android. Android is the OS, but Samsung, Google, and OnePlus all add their own stuff. Same kernel, different experience.
Ubuntu (The Popular One)
Ubuntu is what most people start with. Including me.
Why: It's easy. Great documentation. Huge community. Things just work.
Package manager: apt
Best for: Learning, development, most cloud stuff
My take: Start here. You can always switch later.
CentOS/Rocky Linux (The Stable One)
CentOS is what runs in data centers. It's stable. Really stable.
Why: It's based on Red Hat Enterprise Linux (RHEL) but free. Enterprise stability without enterprise cost.
Package manager: yum or dnf
Best for: Production servers, when stability matters more than new features
My take: Use this in production. Ubuntu is fine for development, but CentOS is what you want when things need to work.
Debian (The Traditional One)
Debian is old. Stable. Conservative.
Why: It's been around forever. It's tested. It doesn't break.
Package manager: apt
Best for: Servers where stability is everything
My take: Boring. Reliable. Sometimes boring and reliable is exactly what you want.
Amazon Linux (The Cloud One)
Amazon Linux is what AWS uses. It's optimized for AWS.
Why: It comes with AWS tools pre-installed. It's maintained by Amazon. It's what AWS expects.
Package manager: yum
Best for: AWS deployments
My take: If you're on AWS, use this. Don't fight it.
Why Linux for DevOps? (The Honest Answer)
1. It's Everywhere
Cloud? Linux. Containers? Linux. CI/CD? Linux. Servers? Linux.
You can't avoid it. So you might as well learn it.
2. It's Transparent
Windows hides things. Linux shows you everything.
Want to see what's happening? Check the logs. Want to see the configuration? It's in a text file. Want to understand why something broke? You can figure it out.
This transparency is why Linux is powerful for DevOps. You can automate what you understand. You can't automate what's hidden.
3. It's Scriptable
Everything in Linux can be automated. Everything.
Want to install software? Script it. Want to configure a server? Script it. Want to deploy an application? Script it.
This is why DevOps loves Linux. DevOps is automation. Linux is built for automation.
4. It's Efficient
Linux runs on anything. A Raspberry Pi. A supercomputer. A cloud instance.
It's lightweight. It's fast. It doesn't waste resources.
This matters in the cloud. Resources cost money. Efficiency saves money.
The Uncomfortable Truth
Linux has a learning curve. It's steep. Especially if you're coming from Windows.
But here's the thing: The curve is worth it.
Once you get it, you'll wonder how you lived without it. You'll see problems differently. You'll solve things others can't.
That's the value. Not the commands. The understanding.
What's Next?
Now that you know what Linux is, let's talk about Linux Distributions in more detail. We'll help you pick one. Or you can just use Ubuntu. I won't judge.
Personal note: I started with Ubuntu because everyone said to. I switched to CentOS for production because stability matters. I use Debian on some servers because it's boring and reliable. There's no "right" choice. There's just what works for you.