it's pretty rare i come across a computer book that i enjoy from front to back.

Linux Programming (by Example) by Kurt Wall (Que) is an excellent read if you really want to get down and dirty into linux programming. it's at a perfect intermediate level, meaning that it assumes that you're comfortable on linux and programming some c, and teaches you to use what you already know to do something useful.

this is NOT a beginners guide to linux or c, you have to already know some stuff to get anything out of reading this. topics are:

building process
system calls
file handling
socket programming
and tons more

so if you're beyond a beginners level and looking to really get down and dirty with your linux box, this book has great examples and is easy to follow along. i highly recommend it!