I found the best way of learning linux was to set myself projects such as setting up various services and automation tasks. I bought alot of unix books and read them whenever I got chance, and tried to apply what I had read on my network. I think it certainly helps to have at least 2 *nix boxes, especially if you plan to use network services - makes things more interesting.
With regard to your choice of distribution, I'd certainly suggest slackware over redhat. Slack's install/configuration/maintenance is alot more hands on allowing you to learn and take advantage of exactly how customizable and how much control you have over linux.
I found I learned alot by using Gentoo linux aswell. During the install alone you learn about chrooting, mount points, network configuration, and kernel compiles - all skills that will certainly come in handy in the future. The Gentoo support forums are great too and the HOWTO Wiki is very useful for the novice.
With regard to books, the books which helped me and what I still refer to are;
Unix Made Easy by John Muster
Essential System Administration by AEleen Frisch
Aswell as service specific books from O'Reilly
I really recommend buying books from Amazon's used section, most my books come from there and I've yet to have a damaged one.
There are lots of distribution specific support sites which are great, but one site that is really useful regardless of what you decide to use is The Linux Documentation Project [tldp.org]
They have loads of HOWTO's and information on pretty much everything.
Hope this helps.