- 25 Free Books To Learn Linux For Free
- How to learn Linux?
- 1. Free materials to learn Linux for absolute beginners
- Introduction to Linux by Linux Foundation [Video Course]
- Linux Journey [Online Portal]
- Learn Linux in 5 Days [eBook]
- The Ultimate Linux Newbie Guide [eBook]
- 2. Free Linux eBooks for Beginners to Advanced
- Introduction to Linux [eBook]
- Linux Fundamentals [eBook]
- Advanced Linux Programming [eBook]
- Linux From Scratch [eBook]
- 3. Free eBooks to learn Linux command line and Shell scripting
- The Linux Command Line [eBook]
- GNU/Linux Command−Line Tools Summary [eBook]
- Bash Reference Manual from GNU [eBook]
- Bash Guide for Beginners [eBook]
- Advanced Bash-Scripting Guide [eBook]
- Linux 101 Hacks [eBook]
- The AWK Programming Language [eBook]
- 4. Free eBooks for SysAdmin
- The Debian Administration’s Handbook [eBook]
- Advanced Linux System Administration [eBook]
- Linux System Administration [eBook]
- Linux Servers [eBook]
- Linux Networking [eBook]
- Linux Storage [eBook]
- Linux Security [eBook]
- Your favorite Linux learning material?
- Linux Tutorial
- Welcome!
- Introduction
- Outline
- Structure
- Some general house rules:
- Problem Solving and Creative Thinking
- Obtaining Linux
- About the Author
- Using this material
- Disclaimer
25 Free Books To Learn Linux For Free
Last updated February 6, 2020 By Abhishek Prakash 111 Comments
Brief: In this article, I’ll share with you the best resource to learn Linux for free. This is a collection of websites, online video courses and free eBooks.
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.
Problem is that different people have different meanings of learning Linux.
- If someone has never used Linux, be it command line or desktop version, that person might be just wondering to know more about it.
- If someone uses Windows as the desktop but have to use Linux command line at work, that person might be interested in learning Linux commands.
- If someone has been using Linux for sometimes and is aware of the basics but he/she 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.
You see, 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.
These free resources include eBooks, video courses, websites etc. And these are divided into sub-categories so that you can easily find what you are looking for when you seek to learn Linux.
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.
Again, there is no best way to learn Linux. It totally up to you how you go about learning Linux, by online web portals, downloaded eBooks, video courses or something else.
Disclaimer: All the books listed here are legal to download. The sources mentioned here are the official sources, as per my knowledge. However, if you find it otherwise, please let me know so that I can take appropriate action.
1. Free materials to learn Linux for absolute beginners
So perhaps you have just heard of Linux from your friends or from a discussion online. You are intrigued about the hype around Linux and you are overwhelmed by the vast information available on the internet but just cannot figure out exactly where to look for to know more about Linux.
Worry not. Most of us, if not all, have been to your stage.
Introduction to Linux by Linux Foundation [Video Course]
If you have no idea about what is Linux 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.
Linux Journey [Online Portal]
Not official and perhaps not very popular. But this little website is the perfect place for a no non-sense Linux learning for beginners.
The website is designed beautifully and is well organized based on the topics. It also has interactive quizzes that you can take after reading a section or chapter. My advice, bookmark this website:
Learn Linux in 5 Days [eBook]
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 and other things that you need to learn to get started with Linux.
The Ultimate Linux Newbie Guide [eBook]
This is a free to download eBook for Linux beginners. The eBook starts with explaining what is Linux and then go on to provide more practical usage of Linux as a desktop.
You can download the latest version of this eBook from the link below:
2. Free Linux eBooks for Beginners to Advanced
This section lists out those Linux eBooks that are ‘complete’ in nature.
What I mean is that these are like academic textbooks that focus on each and every aspects of Linux, well most of it. You can read those as an absolute beginner or you can read those for deeper understanding as an intermediate Linux user. You can also use them for reference even if you are at expert level.
Introduction to Linux [eBook]
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 needs 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.
Linux Fundamentals [eBook]
This free eBook by Paul Cobbaut teaches you about Linux history, installation and focuses on the basic Linux commands you should know.
You can get the book from the link below:
Advanced Linux Programming [eBook]
As the name suggests, this is for advanced users who are or 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, reliable and secure program that uses the full capability of a GNU/Linux system.
Linux From Scratch [eBook]
If you think you know enough about Linux and you are a pro, then why not create your own Linux distribution? Linux From Scratch (LFS) is a project that provides you with 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.
3. Free eBooks to learn Linux command line and Shell scripting
The real power of Linux lies in the command line and if you want to conquer Linux, you must learn Linux command line and Shell scripting.
In fact, if you have to work on Linux terminal on your job, having a good knowledge of Linux command line will actually help you in your tasks and perhaps help you in advancing your career as well (as you’ll be more efficient).
In this section, we’ll see various Linux commands free eBooks.
The Linux Command Line [eBook]
This 500+ pages of free eBook by William Shotts is the MUST HAVE for anyone who is serious about learning 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 level. I bet that you’ll be a hell lot of better Linux user after reading this book. Download it and keep it with you always.
GNU/Linux Command−Line Tools Summary [eBook]
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 [eBook]
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 [eBook]
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 [eBook]
If you think you already know basics of Bash scripting and you 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.
Linux 101 Hacks [eBook]
This 270 pages eBook from The Geek Stuff teaches you the essentials of Linux command lines with easy to follow practical examples.
The AWK Programming Language [eBook]
Not the prettiest book here but if you really need to go deeper with your scripts, this old-yet-gold book could be helpful.
4. Free eBooks for SysAdmin
This section is dedicated to the SysAdmins, the superheroes for developers. I have listed a few free eBooks here for SysAdmin which will surely help anyone who is already a SysAdmin or aspirs to be one. I must add that you should also focus on essential Linux command lines as it will make your job easier.
The Debian Administration’s Handbook [eBook]
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 [eBook]
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.
Linux System Administration [eBook]
Another free eBook by Paul Cobbaut. The 370 pages long eBook covers networking, disk management, user management, kernel management, library management etc.
Linux Servers [eBook]
One more eBook from Paul Cobbaut of linux-training.be. This book covers web servers, mysql, DHCP, DNS, Samba and other file servers.
Linux Networking [eBook]
Networking is the bread and butter of a SysAdmin, and this book by Paul Cobbaut (again) is a good reference material.
Linux Storage [eBook]
This book by Paul Cobbaut (yes, him again) explains disk management on Linux in detail and introduces a lot of other storage-related technologies.
Linux Security [eBook]
This is the last eBook by Paul Cobbaut in our list here. Security is one of the most important part of a sysadmin’s job. This book focuses on file permissions, acls, SELinux, users and passwords etc.
Your favorite Linux learning material?
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 🙂
Like what you read? Please share it with others.
Источник
Linux Tutorial
Welcome!
Ok, so you want to learn how to use the Bash command line interface (terminal) on Unix/Linux. Or, it’s part of a subject you’re doing and so you’re learning it because you have to. Either way, that’s great. You’re learning how to use a powerful tool that can make your life easier, and make you awesome (more so than I’m sure you already are).
Introduction
Working through this beginners guide to the Linux command line (BASH) you will be up and running utilising powerful techniques, tips and tricks to make your life easier in no time. The following pages are intended to give you a solid foundation in how to use the terminal, to get the computer to do useful work for you. You won’t be a Unix guru at the end but you will be well on your way and armed with the right knowledge and skills to get you there if that’s what you want (which you should because that will make you even more awesome).
Here you will learn the Linux command line (Bash) with our 13 part beginners tutorial. It contains clear descriptions, command outlines, examples, shortcuts and best practice.
At first, the Linux command line may seem daunting, complex and scary. It is actually quite simple and intuitive (once you understand what is going on that is), and once you work through the following sections you will understand what is going on.
Unix likes to take the approach of giving you a set of building blocks and then letting you put them together. This allows us to build things to suit our needs. With a bit of creativity and logical thinking, mixed in with an appreciation of how the blocks work, we can assemble tools to do virtually anything we want. The aim is to be lazy. Why should we do anything we can get the computer to do for us? The only reason I can think of is that you don’t know how (but after working through these pages you will know how, so then there won’t be a good reason).
A question that may have crossed your mind is «Why should I bother learning the command line? The Graphical User Interface is much easier and I can already do most of what I need there.» To a certain extent you would be right, and by no means am I suggesting you should ditch the GUI. Some tasks are best suited to a GUI, word processing and video editing are great examples. At the same time, some tasks are more suited to the command line, data manipulation (reporting) and file management are some good examples. Some tasks will be just as easy in either environment. Think of the command line as another tool you can add to your belt. As always, pick the best tool for the job.
Outline
This Linux tutorial is divided into 13 sections. In general I recommend you work through them in order but if you’ve come here just to learn about a specific topic then feel free to just go straight to that one.
You can now jump into section 1 and get started or keep reading below to learn a little more about this tutorial.
- The Command Line — What is it, how does it work and how do I get to one.
- Basic Navigation — An introduction to the Linux directory system and how to get around it.
- More About Files — Find out some interesting characteristics of files and directories in a Linux environment.
- Manual Pages — Learn how to make the most of the Linux commands you are learning.
- File Manipulation — How to make, remove, rename, copy and move files and directories.
- Vi Text Editor — Discover a powerful Linux based text editor.
- Wildcards — Also referred to as globbing, this is a means to refer to several files in one go.
- Permissions — Learn to identify and change the permissions of files and directories and what the consequences of these are.
- Filters — An introduction to various commands that allow us to mangle data in interesting and useful ways.
- Grep and Regular Expressions — Master a powerful pattern matching language that is useful for analysing and processing data.
- Piping and Redirection — Join commands together in powerful combinations.
- Process Management — See what is currently running on your Linux system and what state the system is in, learn how to kill programs that have hung and put jobs in the background.
- Scripting — Be happy. Get the computer to do tedious and repetitive tasks for you.
- Cheat Sheet — A quick reference for the main points covered in this tutorial.
Structure
The best way to learn the Linux command line is as a series of small, easy to manage steps. This tutorial is organised as such, with each section building upon the knowledge and skills learned in the previous sections. If you work through them in order, read them fully (there is a fair bit of material but it is important for getting a proper understanding) and practice on the command line as you go I believe you should have a fairly pleasant and smooth journey to Linux command line mastery.
99 times out of 100 when a student has troubles with this stuff I find that it is not that they are incapable but that they were lazy and didn’t read the material fully.
Each section is structured in the following format:
- An introduction outlining what you will learn in that section.
- Detailed material including extensive examples.
- A summary of programs covered in that section and the most important concepts.
- A set of activities to help you solidify your knowledge and skills.
Think of the activities not as tutorial questions (such as you may get in a class at school) but as direction on where to explore in the Linux environment to benefit from your new knowledge and skills. Treat the activities as a starting point for exploration. The further you take it, the better you will do. (How well you do and how far you go depends on how unlazy you are.)
This site is also designed to work well on tablets. I know a lot of students like to be at their computer doing work and have their tablet next to them with reference material on it. If that is you then this site works quite well with that set up. Another good approach is to have your browser on one half of the screen of your computer and a terminal on the other half so you can try out the examples as you go.
Some general house rules:
- I’ll refer to Linux in the following pages, whenever I do, assume I’m actually saying Unix/ Linux. Linux is an offshoot of Unix and behaves pretty much exactly the same.
- Whenever you see , what this means is that you are to replace this with something useful. Replace the whole thing (including the ). If you see something such as then it usually means replace this with a number.
- Whenever you see [something] this usually means that this something is optional. When you run the command you may put in the something or leave it out.
Problem Solving and Creative Thinking
If you wish to succeed with the Linux command line then there are two things you need, Problem solving and Creative thinking. Here are some basic pointers to help you along the way.
- Explore and experiment. Remember, you’re learning about a set of building blocks and with them you can build almost anything. The examples you will find are intended to be an illustration of how they work, not the only thing you can do with them. I encourage you to tweak the examples and see how they behave. This will give you a much better understanding on how they work. You will have a lot of questions along the way along the lines of «What if. » and «Can I . » to which I say, «Give it a go and see what happens.» The worst you can really get is an error message. In which case you read the error message to understand why it didn’t work, then have another go. Don’t hold back!
- Read carefully and don’t skip over the fine details. I can’t stress this enough. The fine details are important and are often the difference between your command working and not working. If something isn’t working then re-read the material carefully and re look over what you have typed in to make sure you haven’t make a silly little typo.
So the general approach is:
- Create an hypothesis.
- Run your command to test this hypothesis.
- Observe the output. If it is what you were expecting, great. If not then continue.
- Analyse the output and adjust your understanding accordingly.
- Rinse and repeat till you get what you are after.
Obtaining Linux
Learning Linux is like riding a bike, you can only become proficient by actually doing. So before getting started, make sure you have access to a terminal. Luckily, you have several options available to you here.
- If you are on a Mac then you are in luck, you already have a terminal.
- Another option is to run Linux. Linux is completely free and there are many good distros out there. Some I would recommend include Ubuntu (which is quite popular and easy to use) and OpenSuSe (My personal favourite). If you take this approach then there are a few ways you can go.
- If you have a spare machine then you can just install it on that.
- You can create a dual boot system (ie both Windows and Linux are installed on the computer, you choose which to run when you boot up.). Most modern Linux distros will handle creating this for you when you install it (resizing existing windows partitions as well). Do back up any important files before doing this method though (I’ve never seen it fail but better to be safe).
- You can run Linux in a virtual machine. VirtualBox is a nice tool to use for this and it’s totally free too.
- You may also have access to a machine remotely either at work or uni. If you do then remotely logging into these to access a terminal is an option as well.
About the Author
Hi. My name is Ryan Chadwick and I have been teaching Linux to students for over 10 years now. It’s something that I very much enjoy. In a world where we are increasingly hiding the complexities away from users (smart phones and tablets in particular), it is always satisfying to give that power back to people and allow them to do much more with their technology.
But teaching is only one of the things I do. I also develop and manage websites, and manage computer systems for a few different organisations. I feel that all my work is complementary and benefits from what I learn in the others. Combined, they give me a fairly good understanding of how technology works, and also an understanding of how people use technology, perceive technology, learn technology and work around technology.
This website is both for you, and for me. For you, it is a digital form of what I have been teaching my students over the years. For me, it is an opportunity to clarify and polish what I teach and how I deliver it. To these ends, if you have any feedback at all, be it to tell me you found a particular section confusing, or to let me know it was helpful, I would be more than happy to hear from you.
Drop us a message at
Using this material
Anyone may link to the content on this website.
If you are a teacher, academic, manager or trainer and wish to use this material in your classes or training you are more than welcome to link to these pages and refer your students here or show them in your classes, but please do not just copy my material.
I’ve put a fair amount of time and effort into creating this resource so please be cool and do the right thing.
Disclaimer
Unfortunately, in this crazy and litigious world we now live in, one has to keep themselves covered so here is my disclaimer.
To the best of my knowledge, the material contained within these pages is correct. I make no guarantees however. I also take no responsibility for any damage you may do based upon knowledge gained from here (even though the chances of doing so are relatively small at best). Please use common sense when using any of the knowledge and skills gained from using this material.
Источник