Free tools are an absolute must. No matter what you think of Microsoft, or how much you like their products, nothing beats open source for learning. I mean, this is almost a tautology: to learn about computers, programming, or anything related, you're far, far better off learning from something where you have access to source code.
The free tools have more rough edges than the Microsoft software you're used to. For learning purposes, this is an advantage. By the time you master sendmail configuration or mod_rewrite rules, you'll also have learned the m4 programming language and regular expressions. Clicking on graphical configuration wizards does not make you learn anything like what you naturally have to learn just to set up a Unix server.
Microsoft certainly makes some world-class software. Visual Studio is unmatched by anything in the open source world. But Visual Studio is not really that useful until you've actually learned how to code. Open source and free software will get you there.