Beginning Linux Programming, 4th Edition by Neil Matthew and Richard Stones
I don’t think I’ve ever read a technical book from cover to cover. Generally, I skim through, find the bits I’m interested in, read any other bits I need to in order understand the bits I’m interested in, and then put it on the shelf for future reference.
This one, I read cover to cover.
This book answered a lot of questions I’ve struggled with on understanding threads, processes, pipes, and other programming buzzwords I’ve only comprehended in vague, abstract ways previously.
What helped was also taking a 4 day class in Embedded Linux at work, which was awesome as well. I’m totally writing some C apps, with GUI and everything.
The Linux teacher told us that he doesn’t really consider anyone a Linux guy unless they a) have a Linux machine at home and b) have successfully compiled a kernel.
I have another Linux class coming up in a couple weeks. I plan on being able to call myself a Linux guy by then.