Although many Unix systems use the same commands, the behaviour may be different on different systems, depending on your vendor's Unix implementation. This vendor-dependency of commands used to cause major headaches for users as well as system administrators. That is why the GNU project was started. GNU provides a set of standard Unix tools that can be installed on almost any system. Pre-compiled packages are available for most Unix systems.
GNU is Open Source: it is available for free and you get the sources. So if you don't like the tools, you can change them to fit your purposes. There is much more to the subject of Open Source, using Unix you are likely to learn to appreciate Open Source initiatives. For now it is enough to just keep in mind that GNU tools provide compatibility between users and Unix.
Throughout this document we will discuss the GNU versions of a command whenever possible and refer to system specific documentation when the behaviour of a vendor-specific Unix command differs from the behaviour of the GNU command.