What the heck is the difference between GNU, Linux and GNU/Linux?
Years ago, there was one major popular OS --> UNIX. However, UNIX was not free and open-source. Rubbed in the wrong way by this, Richard Stallman decided to create a free software that can replace UNIX. Infact the full form of GNU is "GNU is not UNIX!" (It is recursive in nature lol) GNU started with creating tools that implemented UNIX like functionalities. Tools like gcc, an editor (emacs) and various UNIX utilities like ls, grep, awk, etc.. In 1991, the GNU guys developed a kernel called GNU Hurd. However this kernel was unexpectedly difficult to implement and use.
Enter Linus(x) Linus Trovalds, in 1991, independently developed the Linux Kernel. Early Linux developers ported the GNU code and toolchains to Linux Kernel and it was a match made in heaven! GNU + Linux Kernel == a perfect operating system! Conventionally, what we call as "Linux" Operating Systems are actually Linux Kernel + GNU. Hence, it is more apt. to call these as GNU/Linux systems. As one may imagine, there is a controversy as to what to call it. As of now, "Linux" is what prevails in the community!