I have written about free Linux books in the past. That article has some good collection of Linux books that are available for free.
The saying goes that best things in life are free. That might not be entirely true when it comes to books. There are many excellent Linux books that you may have to buy, but they are worth the money.
I am going to list some of my favorite Linux books that I own and have read to improve my understanding of various Linux related topics. Some of them are generic while some cover specific areas of Linux systems.
I have mentioned which book covers what topic so that it helps you in deciding whether you should get the book or not.
The Amazon links in the article are affiliate links. You are of course free to get it from the publisher’s website directly, your local book store (support local business) or your favorite online book store.
Recommended books to improve your Linux knowledge
Despite everything, these are my recommendations influenced with my opinion. Suppose I suggest that a Linux book is easy to understand. You got the book online and found it complicated instead. That will be waste of money, won’t it?
I recommend that before you get a book, read some sample pages of the book. You may download the sample chapter from the publisher’s website (if they have it). You may also use a service like Google Books. Search for the book and you’ll find some pages of the book are available to read for free.
Read the sample pages and decide yourself whether the books are good not.
How Linux Works
This is what I recommend if you want to learn and understand the core functioning of Linux. How Linux Works is the perfect book if you are absolutely new or if you want to improve your Linux knowledge.
The book is written in simple and easy to follow language. It starts with giving you the basic idea about Linux, kernel, shell etc and then go on to explain the filesystem, hierarchy etc. After covering the basics, the book goes into core Linux knowledge about how Linux kernel boots, how user space starts, system logging etc.
The book also discusses resource utilization and network configuration before briefly touching the shell scripting part.
You can download the chapter 4 of the book about disks and filesystems for free. Read and see if the book is a good choice or not.
This is perhaps the most comprehensive Linux book that covers a wide variety of topics. Running over 800 pages, you get everything from learning the basics of Linux command line to advanced sysadmin topics.
Each chapter in the book ends with exercises to use your newly learned knowledge in a certain scenario. Answers are included at the end of the book.
If you are preparing to become a sysadmin, if you are preparing for a Linux certification exam or if you just want to improve your Linux knowledge, Linux Bible will prove to be an essential resource.
Learn Linux Quickly
I got this book as a gift from its author Ahmed Alkabary. If you remember, Ahmed used to give his “Linux Command Line Basics” course for free to It’s FOSS readers until Udemy changed its policies on coupon code.
Unlike How Linux Works, this one doesn’t explain the functioning of Linux. It directly jumps into Linux command line.
The book reads like a collection of blog posts and in a good way. You’ll find the chapters and topics covered in “How to” style with plenty of command examples, explanation of the outputs and necessary schematic diagrams.
Each chapter ends with a knowledge check section where you are given a simple set of exercise to perform along with a set of true/false question set. This is a good way to test your newly acquired knowledge. The answers are included at the end of the book.
The language of book is conversational and easy to follow. If your aim is to learn Linux commands, this is a good book to have on your desk.
Linux for Developers
Linux for Developers is a small book with less than 200 pages. The book is intended for software developers, not Linux kernel developers.
If you are a software developer using Windows as your main workstation, this book is for you. In most organizations, the developers use Windows for their development tools but when it comes to deployment, the infrastructure exists on Linux machines.
As a software developer, you may not want to spend a lot of time wondering about how to configure network, mount disks etc. Not that it is not good to know, it’s just not essential to your main coding job.
Linux for Developers gives you a glimpse of Linux command line and shows only the absolutely essential Linux commands required by regular developers. You get to know about the filesystem, path navigation, understanding file permissions, essential commands for listing content, viewing files, finding text in files etc.
This book also discusses how to use common terminal based editors like Vim before moving on to tell you about software packaging (if you need to package your software on Linux).
There are also sections on various scripting language. So, you get the very basics of Bash, Perl and Python scripting. Book ends with a few chapters on using Git, managing files with Git and understanding the file differences with Git.
As I have worked as a software developer, I can relate to the author’s thinking of only providing what’s essential for most software developers. This lets the developers focus on their programming while knowing enough Linux command line to get their work done.
Linux Pocket Guide
As the name suggests, Linux Pocket Guide is a small, pocket book for quickly referencing the Linux commands and their functioning.
It doesn’t teach you how Linux works in detail. It is merely a collection of Linux commands. The commands are grouped in various sections such as commands for file viewing, navigating directories, user management, networking etc.
There are quick and short examples of the commands along with their syntaxes and brief description.
Linux Pocket Guide also has alphabetical index at the end of the book. This way, you can quickly see which command is mentioned on which page.
Consider it a huge cheat sheet and an alternative to the manpages. Keeping it at your desk comes handy and saves you from searching on the internet for the command examples all the time.
Linux Hardening in Hostile Networks
Usually books on advanced topics like Linux security is written in complicated technical language suitable for seasoned sysadmins. This book is slightly different. From a non-technical manager to seasoned DevOps/SecOps to CTO, this book is a fine read for every experience level.
Every chapter in this book has three sections. The first section gives the general, high-level overview of the security topic and easy to implement best practices that almost anyone can understand and follow.
The second section then take it to next level with intermediate to advanced hardening steps for the sysadmins. Even if you don’t follow all of them step by step, you could still read it to have a better idea on the topic.
The third section discusses advanced hardening tips that are complicated and consume time.
It starts with covering general security concept, securing workstations and hardening Linux servers and networks. It then moves on to discuss hardening of essential (and often vulnerable) services like web servers, email, DNS and databases.
The book ends with a chapter on incident response. This gives you some practical advice on what to do when your server is compromised. How to investigate what happened, what the attackers did, how they did it and what to do to prevent such incidents in the future.
Remember, this is not really a cookbook. In fact, I used it as bedtime reading rather than a DIY manual.
The author Kyle Rankin right says that today’s advanced threats tend to find their way into tomorrow’s script kiddie toolkits. It is important to have a security mindset and this book gives you a good perspective on that.
UNIX and Linux System Administration Handbook
This book requires you to have a good idea about Linux and have knowledge of the Linux command line. In fact, it is more suitable for you if you are already working as a sysadmin.
Running over 1000 pages, this book covers advanced topics suitable for seasoned sysadmins. From core Linux sysadmin stuff to DevOps oriented topics, this book has it all.
Highly recommended for experienced sysadmins.
Another advanced Linux book in this list. No prizes for guessing that this book is all about firewalls in Linux.
As a sysadmin or network engineer, if you want to secure your network or test for vulnerabilities, this is a good book to learn the core concept of firewalls.
What Linux books do you recommend?
I haven’t included excellent books like The Linux Command Line in this list. Not that it’s not a good book but because it is available for free and I have mentioned it in the list of free Linux eBooks.
There are numerous Linux books available. I have certainly not read all of them neither I’ll be able to read them all. It is possible that I have missed some of your favorite book.
Why not share your favorite Linux book in the comment section? I’ll add a section of reader recommendation based on your feedback.