Hello! Recently began to learn Python and constantly torments the question.
At the beginning I thought GNU is a shell for Linux: that is, Linux is just a command line, and GNU is exactly like on Windows working screen and labels.
Now realized that Linux is an open source core, and GNU is an open source program, it seems so, so there is no Photoshop in Linux, etc.
I can be wrong, help to understand a newcomer. Tell us with simple words or on examples.
Answer 1, Authority 100%
GNU is a set of command line and utilities. Linux is the system core. The core is useless without a minimal set of utilities, and utilities are useless without a kernel. And GNU / Linux is an already operational OS. Based on GNU / Linux make distributions, such as Debian. And the distribution is added (or not) graphic shell.
In modern distributions, part of the utility is replaced. For example, the initialization system is currently SYSTEMD, drivers and hardware management is done through the Kernel utilities (O), and part of the network utilities put from the BSD set.
Now the GNU prefix does not make sense, and it only serves to distinguish the operating system from its kernel.
There are Linux operating systems without GNU, such as OpenWRT. There are GNU but without Linux, for example, Solaris, and there is a GNU assembly for Windows.