There is also no one canonical linux stack. Different distros do things differently (sometimes drastically so).
E.g. systemctl flags and argument ordering differs from sysv style /etc/init.d/foo commands (as just one example)
So to learn “GNU/Linux” really you need to learn several distributions and piece together the common components and why different approaches are better suited to different environments.