The Linux Programming Interface (2010, No Starch Press) is a detailed guide and reference for system programming on Linux and UNIX systems.
With 1552 pages, 115 diagrams, 88 tables, nearly 200 example programs, and over 200 exercises, TLPI is the most comprehensive description of Linux and UNIX system programming available.
The author, Michael Kerrisk, is a software engineer, writer, trainer, and regular conference speaker. He is the maintainer of the Linux man-pages project, and has long been active in the documentation, testing, and design review of Linux kernel-user-space interfaces.
The TLPI web site contains the detailed table of contents, preface, sample chapters, bibliography, and index for download. It also provides complete source code for the example programs and a more detailed description of the book.
TLPI has been very positively reviewed. You can find pointers to reviews here.
For information on ordering TLPI, look here.
The author's first copy of TLPI
(complete cover here)