Hey everyone! I know that Linux is essentially just the kernel, while GNU contributes to the operating system side of things. I'm curious about which functionalities commonly associated with Linux actually belong to GNU. For a typical user, is the kernel something they can notice, or is it more of a technical detail that most people don't engage with? I understand the file system hierarchy is a Unix convention, but I'm eager to learn more about GNU's role in the Linux ecosystem.
5 Answers
To answer your question about the GNU components of Linux: the C compiler, utilities for compiling kernel sources, and various userland tools like shells are all from GNU. And yes, while the kernel is crucial (the computer won't run without it), regular users typically don’t interact with it directly; their interaction is mostly through a GUI or command line options.
Generally speaking, GNU provides a significant amount of the command line utilities you use daily, like bash, grep, and the gcc compiler. As for whether users notice the kernel: typically, they don't unless something goes wrong, since it manages the hardware behind the scenes.
In the early days of Linux, most of the userland tools were GNU, simply because they were the best available at the time. Nowadays, there are other tools out there too. While some GNU utilities are still widely used—like bash, grep, and gcc—more alternatives have gained traction, such as BusyBox and musl, which many distributions are now adopting.
GNU was established in the mid-1980s to create Unix-like user space tools, not really knowing that Linux was on the horizon. When the Linux kernel appeared in 1991, it was a game-changer. Once they got gcc working on Linux, it allowed the rest of the GNU tools to be compiled for it quickly. Now, we often refer to the combination of the Linux kernel with the GNU toolchain as GNU/Linux.
If you're looking for foundational information, definitely check out the GNU website for comprehensive details. While GNU does play a substantial role in the broader software package, Linux is primarily the kernel, and users usually interface with it via their desktop environments or command line terminals.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures