A Step By Step Plan To Learn Linux The Fun Way..!
In the last article we looked at the plan to get proficient in Linux being a complete beginner. If you think its not for you and if you are looking for a fun nerdy way to learn Linux, then I would suggest having a look at the following steps. You can always add your own steps if you think that will add to the fun!
I am not giving estimated times in this section as deadlines spoil the fun and taking your own time as you tinker around is part of the fun..!
STEP#1: Take a laptop and try out various distros and pick one
What are distros? Distros, short for Distributions, can be simply thought of as packages of the Linux kernel and some applications grouped together for easier installation. These packages differ from one another and are made keeping in mind the different kinds of end-users.
Some users need a server with no GUI (industrial users) while others need a fancy GUI like Windows and Mac OS (home users), while some others need a lightweight operating system to run smoothly on their very old hardware like the ones used to run Windows XP!, and some other users need to install Linux on an ARM-based system (like Raspberry Pi and its Raspbian). There are also distros focusing on ethical hacking, with all the tools you will need to do penetration testing on a system..!
A single package will not suffice all of these users and hence the open-source developers of the Linux community have provided us with various packages for the variety of systems that Linux can run in. These packages are also called as distros.
Some of the popular distros include the following
- Ubuntu Desktop (for home users)
- Ubuntu Server (for servers)
- Lubuntu and Puppy Linux (for resource-constrained hardware)
- Kali Linux (for penetration testing) and
- Raspbian (for Raspberry pi)
- OpenELEC (for home entertainment systems)
An exhaustive list of all available distro will have more than 100 names on the list. I leave it up to you to google and find one that will work best for you!
The best part about this step is trying out distros has become easier than ever! You don’t need to completely replace the operating system you are running with Linux.
There are basically 3 options you can try
- You can install Linux using a virtual box and play with it
- You can install Linux on a USB drive and boot your laptop from the USB drive
- You can install Linux alongside your main operating system and choose which one to use each time you turn on your computer.
If you have a fairly powerful machine, I suggest you use the first option of trying distros out using the virtual box option. Here the operating system will be installed inside a virtual environment and you can boot up and use Linux just like you would use any other application, say like chrome or Microsoft word..! The entire process will not take more than an hour (provided you have a fast enough internet connection!).
There is plenty of tutorials online on how to do this, and I leave it up to you to google and figure it out since this process of figuring it out for yourself is part of the fun of going through this tinkering process of learning Linux..!
If virtual box performance seems slow on your system, you can always do it using Live USB or dual boot.
STEP#2: Then customize the distro to do whatever you want
So now that you have chosen a distro, the next step is to customize it to behave just the way you need it..! Just google “Getting started with <your distro’s name>” and you will find plenty of articles to do just that. You can try out several fun projects on the distro like
- setting up your own web server at home,
- Share files on your home network,
- automate apps to run at specific times
- Change the desktop environment to suit your like and needs
Just think of some fun projects that you can do with Linux and try doing that through online research..!!
STEP#3: Learn Bash scripting
By now you should be already familiar with the shell environment and how it works. But trust me, you have only scratched the surface of what you can do with shells..! Even though it might not sound like a lot of fun, I suggest you take up an online course or read up a book on bash scripting.
Recommended book: Linux Command Line and Shell Scripting Bible (link to amazon)
This book is the same one I recommended for category#1 of users whose goal was “To improve their knowledge about computer science and Linux” as this is considered to be the best book on bash and shell scripting.
Recommended Online Course: Linux Mastery: Master the Linux Command Line in 11.5 Hours (link to udemy)
But since you guys are in a “fun path” I would also recommend this course on udemy which teaches the basics of using the Linux terminal. For advanced topics, you can always use the above book as a reference.
STEP#4: Try out various fun projects based on Linux
In step 2, you followed some online tutorials to build things. In this step, I recommend that you go back to those projects and make it do more than what the online tutorial showed you, by using the skills you have developed thus far.
At this point, you may need to learn some programming languages to bring your projects to life. I suggest python for this as it is very easy to learn with tons of online resources and fun open source projects available on github.com
Recommended book: Head First Python (link to Amazon)
This is a good book for self-teaching as it makes you think how each step works and as the philosophy behind these “Head first” books says, more you understand the less you need to memorize!
Recommended course 1: The Python Mega Course: Build 10 Real World Applications (link to udemy)
This course focuses on learning python by making apps. I guess if you wish to learn python the fun way this one is the best bet as learning material.
Recommended course 2: Complete Python Bootcamp: Go from zero to hero in Python 3 (link to udemy)
Recommended course 3: Learn Python Programming Masterclass (link to udemy)
The above 2 courses in udemy teach you the basics of python programming language and both are very good, but one of them is enough for learning python. I suggest you go over to udemy and see the preview of both these courses and select one for yourself.
Once you have learned python, you can build apps based on python, start with small command-line apps and proceed to more complex ones.
STEP#5: Keep playing, Keep Exploring and Keep Learning..!
You should have now reached a level where you don’t need to google every 5 mins to figure something out, and you have become an independent user of Linux. At this point do whatever you feel is fun, do some projects, do more tutorials, keep playing and keep learning..!
Make sure you don’t always follow online tutorials, I recommend taking some ideas online and without looking at their solution, do some research and try to reproduce the same solution yourself. If you get stuck at some point you can always go back to the solution and find how the original developer implemented it. Or if you have some ideas you can always do some projects from scratch and post them online as tutorials..!
Now you have reached a stage where you can make your Linux machine do what you want and in the process, you have also learned how to make your own applications in Linux using python.
Then if you need to up your game, say you need to make your own distro or make Linux run on custom hardware, I suggest you take a look at my other article
and see where you lack, and which course feels more interesting and what skills you would like to gain and go do that next..!
Alright, I guess that covers all the steps, I hope you found this article valuable.
Feel free to share it with your friends and colleagues!