Comment Languages aren't OS-specific (Score 1) 997
Something no one has pointed out yet explicitly (though narcberry alluded to it) is that each of these languages runs on both Windows and Linux (and other operating systems as well). Some languages may be better supported on some platforms, but the differences are generally small beyond the library differences you run into mostly with C/C++.
While the various .NET languages are certainly Windows-centric, and Perl/Python/Ruby/etc. were mostly born and bred on *NIX systems and favor them still, for the most part it doesn't matter. As many have pointed out, Mono exists for *NIX systems. C/C++ obviously work in both worlds, the only substantive difference is in the libraries you might use to get things done (C++ keeps coming up as a *NIX language, but between VC++ and other C++-related projects at MS, Microsoft takes C++ very seriously). But I've worked at Windows shops who had all of their scripting done in Perl and Python - running on Windows.
A better focus for your question might be to learn about the different classes of languages. If you've never seen much other than C# and ASP.NET, you're limited by the narrowness of your knowledge of abstractions more than by your inexperience with Linux. Learn about managed versus unmanaged languages (C/C++ versus C#). Learn about static versus dynamic type systems versus the in-betweens (for you, perhaps IronPython and F# compared to C#?). Learn about different ways of building concurrent systems (shared state vs. message passing, most things vs. Erlang or E).
The most substantial difference from a programmer's perspective between Windows and *NIX is really the difference in the native threading APIs (which you generally see only from C/C++). Most of the rest is just learning a variety of libraries, and you'll probably learn and forget more of those over the course of your career than you care to think about, regardless of what platform you're on.