>>6
Tells the truth, and the Beatles were wrong, all you need is C. Linux is the perfect environment for it.BSD is great too.
I learned C by myself with the 2nd edition of K&R, some people will tell you it's not very beginner-oriented, maybe they are right, but if I didn't failed with it, you won't. It will teach you good habits to think and write smart and efficient code.
After that, update yourself to C99 and do what number 6 told you.
When you have reached a certain level, C Unleashed is also a good reference.