The quickest way to learn about POSIX type systems and Linux in particular is to force yourself to depend on knowing it by using it as your only system and don't go running back to whatever you used before at the first sign of trouble. That said, while there is a lot of HOWTO stuff available, there is little "why" stuff. So to really understand this stuff almost requires some heavy reading on UNIX and its philosophy. I've never done that myself as I too am a hobbyist but educated a little closer to this stuff in electronics. A lot of good books exist in the O'Reilly library on all facets of Linux, POSIX (UNIX), programming, and system administration.
As for learning C, the book "The C Programming Language" by Brian Kernighan and Dennis Ritchie is the canonical reference. It is concise and covers a lot of ground. Look for the Second Edition which covers the ANSI C standard. I keep my copy handy for when I need to review a concept. I'm self taught so that is a bit of a disadvantage but the basics of C can be picked up easily. It's the more clever ways of doing things that start to make my eyes glaze over but that is true in any language. My weaknesses are algebraic formulas and algorithms.
To be an effective system administrator you will need to know Bourne Shell syntax. The GNU Bash shell is the default Bourne shell on most desktop Linux systems and a lot of the basics will apply to Busybox used in OpenWRT. Again there is plenty of documentation out there to read on Bash. Bash is also quite easy to work with as the programs are simply text scripts the shell interprets.
Finally, to really enjoy Linux and to be an effective sysadmin, you'll want to learn a high level language such as Perl or Python or one of the other popular "scripting" languages. Perl borrows a lot from C and the shell so that it becomes quite easy to learn. There is also an incredible library and community around Perl so that help or a module to do some thing is available. Like the shell, Perl interprets your program but unlike the shell, it actually compiles it first so it will find a lot of syntax errors before the code is ever executed. Also, for working with text, nothing beats Perl's integration of regular expressions.
At 27 you have a great opportunity to learn a lot of new things. I've been playing with this stuff for almost 15 years and there is still much to learn. I'm getting acquainted with IPv6 and such stuff over the past week.
Have fun!
(Last edited by Nate on 17 Feb 2011, 01:59)