C and Unix were created almost in parallel, both by K&R, and an early C was used to rewrite the Unix kernel for the PDP-11, sometime in 1973. Ever since that time, C and Unix (and its clones) have an almost symbiotic relationship.
This relationship has put C at the core of POSIX compliant operating systems, the C Standard Library (aka ANSI C / ISO C) is one of the standards of POSIX.1. Therefore, one big advantage of POSIX compliant systems over any other system when learning C is that a standard and up to date version of C is guaranteed to exist on the POSIX system.
From the perspective of a C book author this is quite important. They can target a large and popular family of operating systems with the same standard code examples and tools. Now, most GNU/Linux systems aren't fully POSIX compliant, however all major distributions satisfy at least POSIX.1 and include Standard C, via the GNU Compiler Collection.
This, of course, is also quite important for the learner. A POSIX compliant system provides a complete C development environment out of the box and thousands of C libraries to play with. For GNU/Linux systems the source code for these libraries is also available and you have the extra benefit of learning from it and reusing it.
Now, don't get me wrong, there's absolutely no reason why you can't learn C on a non POSIX system. It's just a lot easier to get started with it when everything you'd ever need is provided by the operating system and all you need to do is start coding.
Lastly, Linux is awesome. ;)
printf hello world
program will compile and run on all platforms, be it on windows, linux, osx, cp/m, ... – ott-- Sep 13 at 23:45