How to Learn Linux Step by Step: A guide for beginners
What Is Linux?
Let’s explain How to Learn Linux Step by Step, first explain what it is. Linux is an open-source operating system like other operating systems such as Microsoft Windows, Google, Android, iOS, and Apple Mac O. An operating system allows the interaction between computer hardware and software. Most importantly, It sends Input to get processed by the processor and delivers output to the hardware to present it, so this is the essential function of an operating system. However, it makes many other important tasks.
History of Linux and Open Source Software
This video’s worth watching. It gives us an idea of how everything started and will show us the Heroes behind this remarkable history.
Where we use Linux?
Linux is nearby us since the mid-90s and is widely utilized in wristwatches to supercomputers. It is omnipresent in our telephones, laptops, PCs, cars, and even freezers. For instance, is very much popular among developers and regular computer users.
Some of Linux Statistics on 2021
Before going through this complete guide, on how to learn Linux step by step, which has a lot of content, let’s see some statics.
Why statistics? I would like to present you with some numbers and show how much Linux is vital worldwide. So we can get more motivated to start learning Linux.
- Linux’s general market share among home users has increased to 1.69%, but that rate is much higher in certain countries.
- The first 500 most supercomputers in the world all run Linux.
- About 96% of the best 1 million websites are running Linux.
- At Amazon AWS, 94% of EC2 (Elastic Computing) runs Linux.
- Microsoft Azure, its primary competitor of AWS, also has 60% of your computer running Linux.
- Games still being a problem for Linux. However, we already have four thousand games available, and we have seen much more support coming over the years. And Nvidia, the principal manufacturer of Graphical Video Card, gives us great support for Linux. And we have seen a lot of alternatives for Cloud Gaming, so it shouldn’t be a limitation for subsequent years.
- The company I work for has 600 computers on the cloud, only 10 instances are running Microsoft Windows, and we are planning to migrate the application to Linux.
Linux is Hard?
After 19 years of using Linux, I can not imagine myself using another operating system. Once you have started, you will notice how flexible it is to automate and do whatever you would like to do.
But, some people complain that the command lines are too hard to use or that the interface is not friendly. But, now, in 2021, it’s not too really hard. However, the first time I touched on it, it was remarkable how hard it was because we didn’t have the concept of repository management that helps us to install or update one specific application. For example, years ago, we had to compile all parts of one application and, worst, all dependencies from that application, which usually wasn’t easy. So, don’t be scared, we are living in a better world where we can have all information that we need to achieve our goals easily.
How to Learn Linux Step by Step: The Learning Curve
Linux gives you everything you need to do on your computer without requiring enormous resources, fancy software, or constant attention against malware. In addition, rather than taking the direction with an interface that limits what you can do and how you can do it, Linux stays out of the way.
You can anticipate learning how to practice the Linux operating system within some days if you use Linux as your primary operating system. For example, If you need to know how to use the command line, require to spend at least two or three weeks learning the essential commands.
What is your goal?
So, the time it takes you to learn Linux will depend on what your intentions are. In other words, If you want to learn Linux to use a Linux system as your primary operating system, you can do so in a few days or weeks.
Discovering how to use the command line is an unusual process. However, expect to spend a few weeks learning essential commands. Then, there is a whole world of more complicated commands you can understand. So, presume to spend five months learning about extra advanced commands.
But, It will take you a smaller period to learn Linux if you’ve already worked with a Linux system before.
Why Should You Learn Linux?
Linux has a wide range of applications. And the chances that you already used it and didn’t know is bigger. For example, embedded systems use Linux, like mobile phones and servers, among other uses. More than 50% of the website is hosted on a Linux server.
For instance, the technology industry uses Linux extensively. This fact makes studying the basics of Linux and navigating through a Linux operating system is a helpful skill. So, If you want to grow as a system administrator, DevOps Engineer, or any other IT-related, understanding Linux is almost indispensable. Also, many companies power their infrastructure by adopting Linux.
But, even if you’re not involved in systems administration, understanding Linux can still be helpful. With a working experience of Linux, you’ll be able to navigate the command line more productively. Moreover, It also will support you in an ample range of professional environments. You’ll also have a lot of knowledge of how computers operate.
Which Linux operating system is the best
Learn Linux with Ubuntu
Ubuntu is the most famous Linux distribution and easy to get started for any level of experience. The Ubuntu community is the biggest one. You can find any help on the internet. If you try to find any question on Google, you will find thousands of resource pages! Also, on Youtube and forums.
Additionally, Ubuntu broke the myth that Linux is for developers only. Ubuntu is user-friendly and very intuitive to use.
Most people start to use Linux, in general, because the Kernel today supports much hardware automatically without the need to install any Driver. And Ubuntu accomplishes that too.
Minimum System Requirements Ubuntu
You don’t need a powerful computer to run Ubuntu because the recommended hardware requirements are 512MB of RAM, a 700 MHz processor, and a 5GB hard disk.
According to with Official Ubuntu Website:
- 2 GHz dual-core processor.
- 4 GiB RAM (system memory)
- 25 GB of hard-drive space (or USB stick, memory card, or external drive, but see LiveCD for an alternative method)
- VGA is capable of 1024×768 screen resolution.
- Both a CD/DVD drive or a USB port for the installer media.
- Internet access is essential.
Also, it’s possible to run Ubuntu on ARM processors! The same one for a vast number of mobile devices!
How to Learn Linux Step by Step: Topics step by step
Where should I start?
I will list here some critical Learning Paths where you can get started. Because if you don’t have the right path, you will notice that a massive amount of content never ends, and it’s crucial that you have the right strategy not to get crazy, but you will have much fun!
Follow the learning path below in the same order as listed; you will have a smooth learning process.
The Evolution of Linux
- Open Source Philosophy
- Linux Distributions
- Distribution Life Cycle
- Comparing Distributions
- Embedded Systems
- Hardware Requirements
- Installing Linux
- OS Differences
- VirtualBox installation and virtual machine setup
- Linux installation in a virtual machine
- VirtualBox Guest Additions
- Ubuntu desktop customization
- Unity Tweak Tool
- Installing Linux alongside Windows (dual boot)
The Linux Terminal
- Understanding Command Structure
- Terminal Concepts
- The Manual’s Structure
- Command Input and Output
- Standard Output
- Standard Input + Standard Error
- I/O Redirection: redirection operators and the grep command.
- Piping Fundamentals
- The Tee Command
- The Xargs Command
The Linux File System
- The Structure of the Linux File System
- Navigating the File System
- File permissions and ownership
- Log files
- How to identify which processes are running on a Linux system.
- Which programs to use to monitor memory usage.
- File Extensions in Linux
- Creating Files and Folders
- Rename Files and Folders
- Deleting Files and Folders
- Copying Files and Folders
- Editing Files using Nano
- The Locate command
- The Find Command
- Viewing Files
- Sorting Data
- Searching File Content
- File Archiving and Compression
Linux User Management
- Adding/removing users through GUI
- Adding new users through the terminal
- How to delete users through the terminal
- Changing an existing user’s password
- Adding users to a group
Task Automation and Scheduling
- Creating Bash Scripts
- Scheduled Automation Using Cron
Open Source Software
- The GNU Project
- Compiling Software from Source Code
- The Software Repositories
- The Apt Cache
- Updating the Cache and Upgrading Software
- Installing New Software
- How to manage the RPM and DEB package management systems to install, update and remove software packages.
- Downloading Source Code
- Uninstalling Software
Linux Virtual Machine
- Installing Virtual Box
- How to set up your own Linux Virtual Machine
Linux Network Administration
- How does the Internet work?
- What is a local area network (LAN)?
- Practical networking commands
- Netstat to show network statistics
- Linux hosts file
- How to use traceroute to track the servers(a request passes through),
- What is the application Nmap, and how to use it?
- How to use SSH to access the command line of a remote host
- SFTP to transfer files between machines
- How configure SSH host on our local machine
How to Learn Linux Step by Step: The best books
Certainly, you know that you could find information on the internet to learn, with infinity of information. However, if you would like to learn and become a master in this area, I would like to suggest a list of essential books.
Firstly, books have extraordinary power, they are more accessible and contain examples. Secondly, they are well written for one professional who usually has vast experience and has prepared that book for a long time. So, before releasing a book, this was really planned before get written.
So, It will depend on your goal, for example, In my case, I was trying to achieve an excellent deep acknowledgment on this area, so the books were great. Because all information was together and, in the right order, also well written and ready to be learned.
Firstly, this book delivers the best way to learn Linux! Moreover, Linux Bible may be enormous, but sincerely, anything considered a bible would not frustrate you, particularly if it’s for those who are beginning out and want to get a start by utilizing Linux as an OS. Of course, it’s not only for newcomers but for everyone at any level. In addition, It’s essentially made of the new and updated info, which a normal Linux user may find helpful, and those who want a more open view about a certain task that can’t be found in another place.
The book was well-written with a neutral style in terms of Linux flavor. Moreover, the book suits the committed Linux user who is looking to understand more about how the OS works. Above all, It is not a summary of all the Linux commands. And better, it is an intelligent and exciting explanation of what medium-level users need to understand. Also covers so many topics, and it gives you a perfect jump start as a Linux user. So, I would recommend this book to everyone who wants an introduction to Linux at a beginner or intermediate level.
Linux Command Line and Shell Scripting Bible, 4th Edition is the latest installment in the essential series known to Linux developers worldwide. Bound with detailed plans and practical tips, the newest Edition adds brand-new content incorporating:
- Learning the Shell
- Writing Simple Script Utilities
- Creating Database, Web & Email Scripts
- Building Fun Little Shell Scripts
Reproduced by accomplished Linux professionals Christine Bresnahan and Richard Blum, Linux Command Line and Shell Scripting Bible, 4th Edition guides readers on the fundamentals and advanced topics essential for a thorough understanding of shell scripting in Linux. In addition, the book is loaded with real-world examples and functional scripts, helping readers drive the challenging Linux environment with security and convenience. So, this book very recommends who needs to achieve an advanced level.
How to Learn Linux Step by Step: Online Courses
- Price: $60.00
- Public: Beginners
Firstly, this online class highlights over 11 hours of material. In this course, you’ll include the essentials of the command line. Secondly, by completing this course, you’ll have developed the abilities you need to work on a Linux computer entirely from the command line.
- Price: Free
- Public: Beginners
The Linux Foundation teaches foundation to Linux. Consequently, this course is exceptional for all newcomers, whether you have practiced a Linux system before or not. So, you’ll discover typical Linux applications, how to use the command line, and the design of the Linux distributions.
- Price: $60.00
- Public: Beginners
This class is a quick start to the basics of Linux. So, you’ll discover the fundamentals of Linux and how it operates. For example, this program comes with 68 resources to supplement your learning.
Some ways to get started with Linux
Firstly, everybody knows that to learn new skills, it’s important to get hands-on, for Linux is totally true. So, in my opinion, the best way also is to make Linux your primary operating system. Consequently, when you do that, you will find some challenges on your way that are absolutely normal, but this is the best part because it will force you to research how to resolve them and begin to learn how the system works.
Another great tip that I would like to recommend is, that as soon as you get started, put yourself in on mindset that everything is possible. In other words, try to imagine things that you can do, and be sure that is possible. So go to the internet and research how to solve it. Certainly that you will find something.
There is no Limitation at all! And, this mindset will bring solid learning, and soon will have great skills.
However, if you are not comfortable installing Linux as a primary operating system, here is how to get started:
The Best Tools to learn Linux
Install Linux as a VM
Firstly, virtualization is an effortless way to examine an operating system, and VirtualBox is a fabulous open source usage to virtualize. Secondly, VirtualBox runs on Windows and Mac to install Linux as a virtual machine (VM) and use it essentially as if it were just a different application. So, If you’re not an expert in installing an operating system, VirtualBox is easier to try Linux without accidentally installing it over your regular OS.
JSLinux is an entirely functional Linux running fully in a web browser. So, If you have almost any modern web browser quickly, you can run an essential Linux version on any computer.
Learn Linux on Raspberry pi
What is raspberry pi for?
The Raspberry Pi is a low-cost, tiny computer that plugs into a computer monitor or TV and uses a standard keyboard and mouse. It is a capable device that allows people of all generations to explore computing and develop programs like Scratch and Python. Also, learn Linux!
Where is raspberry pi used?
The Raspberry Pi, it’s used for industries for IoT and automation. And people that need to automate something in their homes. But, it is also possible to plug sensors and cameras, giving us an unlimited ideas, and do with it. Or to create central multimedia and connect it to TV. So, it’s a device worth having today.
Can Raspberry Pi 4 run Ubuntu?
Yes! You can easily install Ubuntu on your Raspberry Pi.
The process to install Ubuntu on Raspberry Pi, it’s pretty easy. You need to have an SD Card and use a tool to create a bootable USB to plug on your Raspberry PI and install it using the very intuitive interface without any tricks. This tool (application) is available to any Operation System like Windows, Linux, Mac OS, and Chrome OS. So whatever OS you’re using today, it will be easy to create and prepare your SD Card and plug on Raspberry.
How can the Raspberry Pi help you to learn Linux?
One benefit of using Raspberry Pi to learn Linux is that you can use it as your main computer, plugin in on your Monitor screen using HDMI, and a standard keyboard and mouse. And you don’t need to worry about formatting and installing on your computer and not having the risk of making some mistakes. Also, it doesn’t require installing any Driver to use Wifi, Bluetooth, or Video Card so that you can focus on Learn Linux! And you can install any application that runs for Ubuntu on a regular computer on your Raspberry pi.
Can I Learn Linux on a Mac?
Yes! But, most people make a lot of confusion about the Mac OS X, that also it’s Linux. But, Mac OS X is not Linux, and it wasn’t built on Linux. The OS is developed on a Free BSD UNIX but with a different kernel and device drivers. You can use the UNIX command line. Various common UNIX apps and utilities are available. So you can still learn to use some of the most commands and applications from Unix.
Can you run Linux on a mac?
Yes, it’s possible to install Linux on a Mac using virtualization software, such as VirtualBox or Parallels Desktop. Because it can efficiently run using old hardware, it usually’s wonderful running inside OS X in a virtual environment.
How to run Linux on a Mac
How to learn Linux commands on Windows
Microsoft released WSL 2 (June 12, 2019) for Windows 10, which allows us to install the Linux Operation system on Windows. So, with WSL, you can run Linux commands on Windows.
The video below shows us step by step how to install the Ubuntu Linux and enable VNC (allowing you to connect on this virtual machine and use the graphical interface).
Running Linux commands on Windows
The advantage to doing this process, like a virtual machine using Virtual Box, is that if you make any mistake, it doesn’t affect your host machine, so you can do whatever you would like, fearless, good, right? So it’s perfect for learning.
Using this WSL on Windows, there is no limitation. You can install any application and use any feature from Linux, with the same experience that would run it as Operation System from your installation from the boot as the primary OS.
However, running any application natively will almost always be faster and smoother than emulating it. But, for the learning proposal, it’s enough and perfect. The idea of running WSL is not to run a graphical application, but like in the video above, it’s possible to do it using VNC. Once you have become confident, you can go ahead and install Linux as your primary operating system and take advantage of a good experience and performance. But, if your primary goal it’s starting to have hands-on experience on the command line, WSL will be perfect for you.
How to Learn Linux Command Line
All Linux flavors cames at least one graphical interface that is highly customizable. However, learn how to use the Terminal will give you more powerful features and flexibility. Almost everything you can do using the graphical interface can also do it by the command line. And even better, you can automate everything or even change the default behavior of many actions! And believe in me, it’s possible to be more productive and faster doing everything by command line.
Learning Linux command line, it’s a process that takes time. You should use it every day to get familiar with all available commands. On the most essential tips that I must give you, I would like to request you to take notes and remember when you start to type commands on your Terminal: Don’t limit yourself about what you can do on the Terminal. Change your mindset and be sure that everything is possible to do in Terminal. The fact that you don’t know how to do it doesn’t mean that it is impossible to do it. I would like to encourage you, go through the Google search and find your answer. You will be surprised how it’s easy to learn the new commands (or about Linux itself) and resolve the problem, and you will notice how much new acknowledged and experience you will get doing this; it will give unlimited growth. So, be sure to include it on your roadmap for learning Linux and go deep on the command line.
Also, I would like to highlight one of the most important reasons to learn the command line on Linux when you start your journey to learn Linux. Whenever issue you face, almost 100% times, it will be easier to fix it via the command line. Sometimes, the only way to resolve one problem is by using the Terminal to edit one or more configuration files or restarting some services running in the background. Or, for a more critical issue when your interface doesn’t load, you need to navigate the file system using the command line, edit necessary files to fix, and then reboot your computer to restore the system.
If you start from scratch, I suggest you read this page from Ubuntu’s official website, which’s very well written: The Linux command line for beginners.
I believe that there is no way to learn Linux and not learn how to perform some operations on Terminal, and at some point, you end up in the situation where your only option is to use Terminal, but it’s not a bad thing.
Learn Linux step by step: Shell Script
When you start to Learn Linux, you will begin to see very often the term “Shell Script.”
A shell script is a program created to run on Unix that interprets command line. So, we can manipulate files, execute programs and print text, and request user input. It’s often used to automate a task that we need to run manually by following several commands on Terminal.
In our Guide Line of Learn Linux Step by Step, I would say this topic could be learned soon as you have reached all basics levels. It’s possible to create from small and basic to large and complex scripts. Just remember that you can add anything to your script that you would do manually on Terminal.
Also, I would like to bring your attention to when you get started on your journey with Linux and Shell Script. Remember that we can run Shell Script not only on the Terminal, but you can also call them by the graphical interface, and we can schedule them to run on a specific time and date.
The best reference book for Shell Script is Wicked Cool Shell Scripts: 101 Scripts for Linux, OS X, and UNIX Systems, I really recommend it, it’s a clean read with thousand of examples, it was my first book.
Using Docker to Learn Linux: Step by Step
Docker, it’s an advanced topic. However, I really recommend you to take a look. The more complex step, I would say that is the installation process, but it isn’t really hard. Using Ubuntu Linux, everything is made by running apt-get install, and you have installed it. Then, I will show you how you can take advantage of Docker to help you on your journey to learn Linux.
What is Docker?
Docker is an open-source project that makes it simple to build containers and container-based apps. Basically, in other words, Docker helps us to put an application inside a package/box that is isolated from your host operating system.
What can I do with Docker?
Maybe you are thinking now, why we would like to do that? Imagine one application that requires a lot of dependencies. Sometimes, the dependencies also need other dependencies, like many other libraries and applications, to run this application on your computer. Without Docker, to install and run some specific application, we need to install every single dependency manually and before installing our application, in fact.
It’s more than that, but I will avoid giving you too many details about it. It’s a vast subject to be covered, and I will cover our primary goal of using that tool to help you learn Linux in the most productive approach.
How can I take advantage of Docker to Learn Linux?
The main idea of using Docker to Learn Linux is that you can build your own playground and do whatever you want to do without affecting your current operating system.
Also, if you would like to try a new application on your computer without installing it. You can use and search the application that you need on DockerHub explorer. There are a lot of applications ready to be used using Docker. If you did not find the application (image) you need, you would need to build your own image, but it’s an advanced topic. Just keep in mind that it’s possible.
What can you learn?
1 – Command line
You can learn the command line and get practice in any Linux distribution. For example, suppose you have installed Docker on your Ubuntu. In that case, you can run a docker container with Fedora and try some commands from that distribution without the need to install the Fedora on your computer. Or you can run another Ubuntu inside your Ubuntu system. Crazy? It’s pretty cool.
When you run your Ubuntu inside the Docker, you can install any application by the command line. You create and delete files. There is no limitation. If something goes wrong, you just lunch a new fresh container in a few seconds! So you can follow any tutorial or course and practice using the command you have learned inside a Docker container instead of applying them to your primary system.
2 – You can learn how Linux works through experiments
You can change and try several system configurations and see how the system reacts. By editing the configuration file from some background service or application and seeing the results without worrying if it will break or not.
3 – You can run Graphical Application (Advanced Topic)
Most people don’t take advantage of Docker to run graphical applications. It’s not a straightforward approach, and the complexity will depend on the application you would like to run. But, for example, you can quickly run Firefox or Chromium without installing it on your computer, using Docker Container.
So, whatever topic you want to learn on Linux, there are many platforms and applications that you can use to help you on your journey. Sometimes, some application wasn’t designed for this proposal, but that doesn’t mean that you can’t use that to learn and go deep into your learning process.
In a nutshell, Docker works as a Virtual Machine, but there are many differences between them. One advantage of Docker it’s that it is faster than Virtual Machine.
I have separated some good resources for you, where you can find a step by step how to install Docker:
Simple Example: Running Ubuntu inside the Container
After you have installed the Docker on your computer, let’s see how you can run the Ubuntu inside of the container, and start to learn some command line or whatever you would like to do:
How to enter a container docker:
docker run -it ubuntu bash
Just that! Now you are already inside your new Ubuntu! You can perform any command that you want as you would do on your computer.
For example, you can install the Nano text editor:
apt-get update && apt-get install -y nano
Now, you have installed Nano inside your container! It’s pretty straightforward. There is no limit! The Docker itself is a vast world. It could get very complex.
But I hope that this information could give you a direction and idea of how you can take advantage of these technologies to bring you more benefits.
For example, to build your playground or workspace, helping you to perform your practical experiments and learn Linux faster.
When I started to Learn Linux, it was really a disaster because I made so many mistakes and needed to reinstall the Operation System several times to recover it, and it takes time. Maybe most of the time, today, I know that there was at least one workaround, but you don’t know all tricks to recover or undo some actions that made the system crash when you just get started learning.
To save your time, I really recommend an Open Source and excellent application to create a backup from your System as Snapshots, and you quickly recover even from your Boot Screen.
Timeshift for Linux is an application that implements functionality comparable to the system Restore characteristic in Windows and the Time Machine application in Mac OS. Timeshift preserves your system by taking incremental snapshots of the file system at periodic intervals defined by you. These snapshots can be restored any time later to undo all changes to the system.
Timeshift helps you backup your home folder and applications. It can take your whole OS with all the contents in your home folder and files into a single snapshot. This snapshot additionally covers all the customizations and configurations you made to your operating system.
For Ubuntu and Linux Mint
On Terminal, execute the below commands in this sequence:
sudo apt-add-repository -y ppa:teejee2008/ppa sudo apt-get update sudo apt-get install timeshift
You can find more information about Timeshift on his project’s official page on Github.
Learning Linux is a funny journey, like discovering a whole new world of possibilities, and everything is free! Also, the community is enormous. You can find anything on Google. Also, there are so many Forums on Internet that you can ask any question or find any answer already answered.
As you saw, there are many ways to learn Linux, but the topics will be the same. Follow this guideline step by step and roadmap, choose whatever approach to get hands-on that you feel comfortable with, and keep in touch with the Linux ecosystem every day with practice. You will see the results faster.
I have worked hard to provide you with the best resources and ideas to help you with the best way to achieve your goal, and I am proud of you. I have sure that you will enjoy it and you will become a superpower Linux user!.
Please, if you like this guide, please help me to share it on your Social Network. Or If you don’t like it or have any idea how to improve this guide, please leave a message, I will be pleased!
More advanced topics: