Personal experience, mainly. I got my first computer about 17 or 18 years ago (a Tandy...486 SX25, 4MB RAM, integrated graphics, and a 9600 baud modem). I got into tinkering with both the software and hardware sides of things. I started building my own computers maybe 13 years ago. Then for the past 10 years, I've been in IT professionally (first store technical support for a leading US pharmacy company, and now QA for the same company).
The only official training that I've received was a C++ course in high school. The rest has been self-taught. For instance, when I started with this company doing tech support, I started dealing with a lot of UNIX/linux stuff. I didn't know it well, so I went home, threw some parts together, and made a webserver.
That's pretty coo, hopefully I can become pretty decent at commputer knowledge. I plan on my next computer being a desktop and I want to build that one, but it all seems so overwhelming!
Reading different computer based websites will be your best companion. Read overclock.net and see people's successes and failures. Learn the basics and then pick up on the little things. Basically, just absorb everything you see.