The Linux Programming Interface (published in October 2010, No Starch Press, ISBN 978-1-59327-220-3) is a detailed guide and reference for Linux and UNIX system programming.
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 the maintainer of the Linux man-pages project, which documents the Linux kernel and glibc APIs. He has long been active in the documentation, testing, and design review of Linux kernel-user-space interfaces.
If you want to buy a copy of TLPI, see purchasing The Linux Programming Interface.
I teach Linux and UNIX system programming courses based on the content of TLPI, as well as other courses on closely related topics. For more information, see my list of Linux training courses.