How to learn Linux?
This is perhaps the most commonly asked question in our Facebook group for Linux users.
The answer to this simple-looking question ‘how to learn Linux’ is not at all simple.
The problem is that different people have different meanings of learning Linux.
- If someone has never used Linux, be it the command line or desktop version, that person might just want to know more about it.
- If someone uses Windows as the desktop but has to use the Linux command line at work, that person might be interested in learning Linux commands.
- If someone has been using Linux for some time and is aware of the basics, they might want to go to the next level.
- If someone is just interested in getting your way around a specific Linux distribution.
- If someone is trying to improve or learn Bash scripting which is almost synonymous with Linux command line.
- If someone is willing to make a career as a Linux SysAdmin or trying to improve his/her sysadmin skills.
The answer to “how do I learn Linux” depends on what kind of Linux knowledge you are seeking. And for this purpose, I have collected a bunch of free Linux resources that you could use for learning Linux.
Best free Linux ebooks
Here are a bunch of Linux books you can get for free.
Which one is suitable for you? That depends on your requirement. I have put a little description of each book. That will help you in deciding whether you should download the book.
The Linux Command Line
This 500+ pages free eBook by William Shotts is a MUST-HAVE for anyone serious about learning the Linux command line.
Even if you think you know things about Linux, you’ll be amazed at how much this book still teaches you.
It covers things from beginners to advanced levels. I bet that you’ll be a hell lot of a better Linux user after reading this book. Download it and keep it with you always.
Introduction to Linux
Introduction to Linux is a free eBook from The Linux Documentation Project and it is one of the most popular free Linux books out there.
Though I think some parts of this book need to be updated, it is still a very good book to teach you about Linux, its file system, command line, networking, and other related stuff.
Learn Linux in 5 Days
This brilliant eBook is available for free exclusively to It’s FOSS readers all thanks to Linux Training Academy.
Written for absolute beginners in mind, this free Linux eBook gives you a quick overview of Linux, common Linux commands, Vim/Nano editors and other things that you need to learn to get started with Linux.
This free eBook by Paul Cobbaut teaches you about Linux history, and installation and focuses on the basic Linux commands you should know.
You can get the book from the link below:
The Ultimate Linux Newbie Guide
This is a free-to-download eBook for Linux beginners. The book starts by explaining what Linux is and then goes on to provide more practical usage of Linux as a desktop.
You can download the latest version of this eBook from the link below:
Advanced Linux Programming
As the name suggests, this is for advanced users who want to develop software for Linux.
It deals with sophisticated features such as multiprocessing, multi-threading, interprocess communication, and interaction with hardware devices.
Following the book will help you develop a faster, more reliable and more secure program that uses the full capability of a GNU/Linux system.
Linux From Scratch
If you think you know enough about Linux and are a pro, then why not create your own Linux distribution? Linux From Scratch (LFS) is a project that provides step-by-step instructions for building your own custom Linux system, entirely from source code.
Call it DIY Linux but this is a great way to put your Linux expertise to the next level.
There are various sub-parts of this project, you can check it out on its website and download the books from there.
Linux books by Paul Cobbau of linux-training.be
linux-training.be is an online portal run by senior Linux user Paul Cobbau. He has written several Linux books and all of them are available for free. What an excellent person.
These books range from basic Linux commands to focus on servers, storage, and security.
Linux Fundamentals teaches you the fundamentals of Linux. This book is for beginners, novices, and anyone who wants to become a Linux developer or Linux system administrator. It contains essential knowledge, but advanced users will also benefit from this book.
System Administration teaches you Linux system administration. Anything related to Linux system management is introduced in this book.
Linux Servers book shows how to set up common services like a web server, a name server, a database server, a DHCP server, a file server and more.
Linux Storage explains disk management on Linux in detail and introduces a lot of other storage-related technologies.
Linux Security covers topics related to security such as file permissions, acls, SELinux, users and passwords, and more.
Linux Networking focuses on all things related to Linux in a network.
Linux Fun is a new book that goes over 600 pages and it covers the basics of Linux command line, networking, RAID, storage, block devices, systemd and whatnot. An excellent book for your collection.
GNU/Linux Command−Line Tools Summary
This eBook from The Linux Documentation Project is a good place to begin with Linux command line and get acquainted with Shell scripting.
Bash Reference Manual from GNU
This is a free eBook to download from GNU. As the name suggests, it deals with Bash Shell (if I can call that). This book has over 175 pages and it covers a number of topics around Linux command line in Bash.
Bash Guide for Beginners
If you just want to get started with Bash scripting, this could be a good companion for you. The Linux Documentation Project is behind this eBook again and it’s the same author who wrote Introduction to Linux eBook (discussed earlier in this article).
Advanced Bash-Scripting Guide
If you think you already know the basics of Bash scripting and want to take your skills to the next level, this is what you need. This book has over 900+ pages of various advanced commands and their examples.
The AWK Programming Language
Not the prettiest book here but if you really need to go deeper with your scripts, this old-yet-gold book could be helpful.
The Debian Administration’s Handbook
If you use Debian Linux for your servers, this is your bible. The Debian Administration’s Handbook starts with Debian history, installation, package management etc and then moves on to cover topics like LAMP, virtual machines, storage management and other core sysadmin stuff.
Advanced Linux System Administration
This is an ideal book if you are preparing for LPI certification. The book deals straightway to the topics essential for sysadmins. So knowledge of Linux command line is a prerequisite in this case.
Your favorite Linux learning material?
If you have no idea about what Linux is and you want to get started with it, I suggest you to go ahead with the free video course provided by the Linux Foundation on edX. Consider it an official course by the organization that ‘maintains’ Linux. And yes, it is endorsed by Linus Torvalds, the father of Linux himself.
If you are a casual desktop Linux user and want to learn the basics of the command line, explore the Linux Journey portal.
The website is designed beautifully and is well organized based on the topics. It also has interactive quizzes you can take after reading a section or chapter. My advice, bookmark this website:
If you are looking to build a career as a Linux SysAdmin, I recommend getting professional certification from The Linux Foundation, the organization that employs Linux creator Linus Torvalds. You can also check some inexpensive Linux courses on Udemy.
So you now have plenty of reading materials. If you want to practice, you can use one of the online Linux terminals that allow you to run Linux and Bash commands.
I know that this is a good collection of free Linux eBooks. But this could always be made better. If you have some other resources that could be helpful in learning Linux, do share with us. Please note to share only the legal downloads so that I can update this article with your suggestion(s) without any problem.
I hope you find this article helpful in learning Linux. Your feedback is welcome :)