I have been using a MacBook for years. My work lives in macOS, my muscle memory is built around it, and for a long time I saw no reason to venture elsewhere. But at some point you start noticing that every server tutorial assumes you are comfortable in a Linux terminal, every DevOps pipeline runs on Linux, and every IoT project from a Raspberry Pi upward speaks Linux as its first language. So I decided it was finally time to actually learn it — not just survive in it, but understand it.
This is the first article in a series where I document that learning process: what I actually ran into, what surprised me, and what I wish someone had explained more clearly from the start.
So what is Linux, exactly?
Here is something that catches most people off guard: Linux is not actually a full operating system. Technically, Linux is just the kernel — the core layer that sits between hardware and software, managing memory, processes, and device communication.
What most of us call “Linux” is more precisely called GNU/Linux. The GNU project supplies all the utilities, tools, and programs that make an operating system usable — file management, shells, compilers, and so on. GNU stands for “GNU’s Not Unix,” which is a recursive joke, but the point behind it matters: GNU was built to replicate the look and feel of Unix without using any of Unix’s actual code.
In practice, almost nobody says “GNU/Linux.” In real conversations, people say “Ubuntu” or “Fedora” or “CentOS.” Or they just say “Linux” as a catch-all. That is fine — just know that when you dig into the details, the distinction between the kernel and the user-space tools will start to matter.
Why bother learning Linux?
The short answer: it is already everywhere.
The majority of web servers run Linux. Cloud platforms — AWS, Google Cloud, Azure — are built on it. Container tools like Docker and Kubernetes are Linux-native. Embedded systems and IoT devices almost universally run some form of Linux. If you are building anything that lives on the internet or talks to hardware, you are almost certainly dealing with Linux at some layer.
There is also a more personal reason. Learning Linux forces you to understand how an operating system works, not just how to click around inside one. That is a different kind of knowledge, and it stays with you.
Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore.