- Running Linux (3rd Edition)
by Matt Welsh, Matthias Kalle Dalheimer, Lar Kaufman
Paperback: 749 pages
Publisher: O'Reilly; 3 edition (August 1, 1999)
This book is an excellent introduction for beginning Linux Users and
Admins into the philosophy and way of thinking inside Linux. Be sure to
fetch the 3rd ed. instead of the 4th ed. If you come across a Februari
1995 First Edition (ISBN : 1-56592-100-3) make sure to buy it as its
used language was not yet edited into "Linux in 24 hours" prose, but
reads as if Welsh himself is giving you that first cool Linux ride.
- Linux Administration Handbook
by Evi Nemeth, Garth Snyder, Trent R. Hein
Paperback: 890 pages
Publisher: Prentice Hall PTR; 1st edition (March 25, 2002)
This book is more like a cook and reference book on howto conduct administrative task on a Linux system. It covers Redhat, SuSE and Debian.
- Unix Shell Programming, Third Edition
by Stephen Kochan, Patrick Wood
Paperback: 456 pages
Publisher: Sams; 3 edition (February 27, 2003)
This is the Best book to learn Shell scripting, and has an excellent good and balanced intro for a programmer and a fairly painless, helpful introduction to UNIX scripting.
- The New KornShell Command And Programming Language (2nd Edition)
by Morris I. Bolsky, David G. Korn
Paperback: 416 pages
Publisher: Prentice Hall; 2 edition (April 6, 1995)
THE Korn Shell Reference Book. This is to KSH what the Brian Kernigan and Dennis Ritchie book is to C programing, written by the same Research group at Bell Laboratories. Truly understanding this shell as a powerful scripting language, run against the freely available, open source, extremely tight and well written binaries available from AT&T Labs, for just about every *nix distribution you can think of, puts shell scripting in a whole new perspective. With the help of this book, you can write very advanced shell scripts, with very few external calls, that will leave Perl and Python in the dust for performance and very often rival C programs. Once you understand how co-processes, variable substitutions, bulk variable assignments, functions, internal field separators and variable retention across nested loops and functions work in KSH you'll never want to use AWK, SED and BASH again, and you'll realize how slow these utilities are.
- sed & awk (2nd Edition)
by Dale Dougherty, Arnold Robbins
Paperback: 429 pages
Publisher: O'Reilly; 2 edition (March 2, 1997)
This is the best desktop reference on these two tools, which are of course used often inside UNIX scripting. Sed and awk are, as the book adequately puts it, UNIX "powertools". Sed is quite handy and awk is even better. This excellent book presents a breathtaking introduction to both of them.
- The C Programming Language
by Brian W. Kernighan, Dennis M. Ritchie
Series: Prentice-Hall software series
Paperback: 228 pages
Publisher: Prentice-Hall (February 22, 1978)
Written by the designers of C, the language which became the leading programming environment overnight. A such they became the founding fathers of a computing era. If you already know C, read this book. This first version contains the "CHAPTER O: INTRODUCTION", omitted in the second edition, and outlines how the authors had designed their C system on UNIX ("A compiler for C can be simple and compact") where the definition of C was the reference manual in this book, until "ANSI C" was completed in 1988.
- C Programming Language (2nd Edition)
by Brian W. Kernighan, Dennis M. Ritchie
Paperback: 274 pages
Publisher: Prentice Hall PTR; 2 edition (March 22, 1988)
If you need to program in C, you need this book and should Be On Every C Programmer's Bookshelf. Some say its the best programming book they ever bought, but the real deal for me is that this book is concise , to the point and very sharp. The best part is that its only 274 pages in which all you need to know about C is covered. No need to read elsewhere.
- The UNIX Programming Environment
by Brian W. Kernighan, Rob Pike
Paperback: 357 pages
Publisher: Prentice Hall (March 1, 1984)
Although this book is dated, it is the best book to learn the much-vaunted Unix "philosophy" in practice, and a perfect book for the beginning Unix programmer by the people who invented UNIX themselves.
- A Book on C: Programming in C (4th Edition)
by Al Kelley, Ira Pohl
Paperback: 726 pages
Publisher: Addison-Wesley Professional; 4 edition (January 8, 1998)
The best C programming book for learners. Succeeds where Brian Kernighan's "The C Programming Langauge" fails. Concise enough to use as a handy reference for the veteran C programmer, yet robust enough to include examples for most programming constructs. Highest recommendation. Has a introduction into C++.
- The C++ Programming Language, 4th Edition
by Bjarne Stroustrup
Paperback: 1376 pages
Publisher: Addison-Wesley Professional; 4 edition (May 19, 2013)
A significant rework of the 3rd edition by the designer of C++. Contains the C++11 standard which was yet to be completed in most compilers then. A grand effort and still the best reference for C++, however not a beginners book.
- Internetworking with TCP/IP Vol.1: Principles, Protocols, and Architecture (4th Edition)
by Douglas E. Comer
Hardcover: 750 pages
Publisher: Prentice Hall; 4th edition (January 18, 2000)
This is the Best TCP/IP introduction you can find. Some call it the bible, some say its even better. It explains complex ideas about IP in simple terms and is a book which one reads from cover to cover. It offers the best insight.
- Mechanics of User Identification and Authentication:
Fundamentals of Identity Management
by Dobromir Todorov
Hardcover: 760 pages
Publisher: Auerbach Publications; 1 edition (June 18, 2007)
If you are a practicing security professional, buy this book! Todorov has spent a lot of time in the lab working through how our authentication technologies work and offers clear descriptions and sage advice on how they actually work and should be used in practice.
This is not a rehash of vendor documentation and RFCs but a real look "under the covers" at a core capability our security infrastructure must support.
It's probably not a book you'll read from cover to cover as it's too detailed. But I would strongly encourage you to read the indtroductory material and then dip into the chapters dealing with the particular methods you use (or are thinking about using) in your own work.
Then place the book on your shelf as a ready reference when you need a well-organized reference to a particular technology.
- Unix Network Programming
by W. Richard Stevens
Hardcover: 768 pages
Publisher: Prentice Hall PTR; 1st edition (January 23, 1990)
Too bad Stevens has already passed away as his books still stand at a solitary altitude today. Get this version and read it from cover to cover. But why buy it when the author has newer versions out? Because (1) it is more concise and (2) it has info not in the other editions. I recommend you read this one cover-to-cover and buy the others as more detailed reference.
- Operating Systems: Design and Implementation (Second Edition)
by Andrew S. Tanenbaum, Albert S. Woodhull
Hardcover: 939 pages
Publisher: Prentice Hall; 2nd edition (January 15, 1997)
This is the definite book on Operating Systems and its design. This is the book which helped and inspired programmers like Linus Torvalds, Steven Tweedie, Fred van Kempen and many others to write their own Operating System or contribute to parts of it. That OS? Linux of course.
- Linux Device Drivers, 3rd Edition
by Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
Paperback: 615 pages
Publisher: O'Reilly & Associates; 3 edition (February 10, 2005)
This is the definite book to use as a device-driver reference for Linux. You need to know your skills though.
- Understanding the Linux Kernel (2nd Edition)
by Daniel P. Bovet, Marco Cesati
Paperback: 816 pages
Publisher: O'Reilly; 2 edition (December, 2002)
This book is an Exceptional treatment of the Linux Kernel, Excellent Book on OS Design. And should maybe used as a companion to the Linux Device Drivers Books. This book (or tome in many peoples eyes) is the utter definition of 'internals explained'.
- Linux Enterprise Cluster: Build a Highly Available Cluster with Commodity Hardware and Free Software
by Karl Kopper
Paperback: 464 pages
Publisher: No Starch Press; 1 edition (May 15, 2005)
This is the first book I have seen on Linux clustering that not only provides a theoretical background but also a complete detail on how to actually implement it in the real world. He details setting up the heartbeat, IP failover, NAT, synchronizing and cloning, handling packets, and load balancing. Easily the best book on Linux Enterprise Cluster setup and maintenance that I have seen to date, The Linux Enterprise Cluster is highly recommended.