Hello everyone! I recently started learning Python and am constantly tormented by the question. At the beginning, I thought that GNU is a shell for Linux: that is, Linux is just a command line, and GNU is exactly like a desktop screen and shortcuts on Windows.
Now I realized that Linux is an open source kernel, and GNU is open source programs, like so, so there is no Photoshop in Linux, etc.
I could be wrong, help a newbie understand. Explain in simple terms or with examples.
GNU is a collection of command line and utilities. Linux is the core of the system. The kernel is useless without a minimum set of utilities, and the utilities are useless without the kernel. And GNU/Linux is already a workable OS. Based on GNU/Linux, distributions are made, such as Debian. And a graphical shell is added to the distribution kit (or not).
In modern distributions, some of the utilities have been replaced. For example, the initialization system is currently systemd, driver and hardware management is done through the kernel (o) utilities, and some of the network utilities are installed from the BSD set.
Now the prefix GNU has no meaning, but only serves to distinguish the operating system from its kernel.
There are Linux operating systems without GNU, such as OpenWRT. There are with GNU but without Linux, such as Solaris, and there are GNU builds for Windows.