I am a web developer and am wondering why os x comes a long with a lot of gnu tools (nano, bash, vim). How can apple provide them in their closed-source system when the GPL forbidds this?
GPL does not forbid delivering software as binary. In case of OS X you can separate the GNU software. It's not linked but comes in individual binaries.
To make it GPL compliant you have to deliver the source and the licence. The source is available at http://opensource.apple.com/ .
The basic philosophy in the GNU world is that they want you to be able to change their software, and anything which requires their software. (This is their definition of "Free Software")
This essentially implies you need access to the source of all GPL software in a form so you can change things and install a new binary.
For programs which use GPL libraries directly ("linked with") they want you to have that ability too for those programs. For programs not linking with but invoking through a command line (like "gcc -o foo foo.c") this does not apply, as you can just use another c compiler instead. This is intentional and the GCC license address the fact that you can use it to create non-GPL'ed software.
Many commercial Unix server distributions have included GNU software over the years, but they have faded away. To my knowledge there is only Solaris and AIX left with any serious market impact (due to their ecosystem).
So, yes, Apple can include and ship GPL'ed software as long as they provide the sources you need to change that software yourself.