Linux system programming / Robert Love, O’Reilly, c2007
If you are writing the next universal db converter or such in C on Linux, this book is for you. Linux has many improvements over Unix, and this book is an easily read manual for them. It covers IO, process and memory management, signals, and time. No networking or pthreads.
Advanced programming in the Unix environment / W. Richard Stevens, Stephen A. Rago, Addison-Wesley, 2005
If you are doing systems programming in C on Unix, this book is indispensable. It is slightly dated, and does not cover the latest improvements in Linux.
Linux firewalls : attack detection and response with iptables, psad, and fwsnort / by Michael Rash, No Starch Press, 2007
Here is a good introduction to iptables and related tools, with script examples. Make good use of this book, and there is a good chance you and your company will never get hacked.
Linux debugging and performance tuning : tips and techniques / Steve Best, Prentice Hall, 2006
This book is for programmers developing Linux applications, particularly if you have multiple processes or threads. It has been useful in my current work. In the open source world there is a profusion of tools available, to the point that it is hard to know which ones to use. This book reduces your search to the top runners.
Linux device drivers / Jonathan Corbet, Alessandro Rubini, and Greg Kroah-Hartman, O’Reilly, 2005
If you are doing some kernel programming, this book is one of your most important resources. They joke that this book is easier to read than the code, implying that the book is almost as hard to read as the code. But you will want to read the code, because the rules for driver design change often. The authors are in the kernel inner circle.
Read it online here. Or here.
Linux TCP/IP networking for embedded systems / Thomas F. Herbert. Charles River Media, 2007
Find out how the TCP/IP stack is implemented in Linux. This book is for the kernel hacker, not the applications programmer. Not an easy read, but much easier than learning from reading the networking code. The title is misleading, because you don’t need to be working on embedded systems to make good use of the book.