# 1 Basics about linux
What is Linux?
Linux is a kernel upon which many operating systems, such as Ubuntu and Arch Linux, are built. Linux is open-source which means you can read the code associated with the kernel. The Linux kernel was released in 1991 by Linus Torvalds.
Have you ever wondered about the process that enables applications on your computer to run? Have you ever thought about what enables you to browse a website on a computer? Or play a game? Behind every application on a computer there is an operating system that allows you to use the hardware.
Linux was designed as an updated version of the UNIX OS software, which he thought needed to be improved. After his suggestions were ignored, he decided to create his own operating system with all the features he needed.
The Linux operating system was launched in 1991. Shortly after, several programmers offered to help improve the operating system. Over time, it has become ubiquitous and powers everything from modern phones to smart devices.
Why Should You Learn Linux?
Linux has a wide range of applications. It is used for embedded systems, mobile phones, and servers, among other uses. Even the Career Karma website is hosted on a Linux server.
Linux is widely used in the technology industry. This makes learning the basics of Linux and being able to navigate through a Linux operating system is a valuable skill. If you want to become a system administrator, knowing Linux is almost essential. This is because many organizations power their infrastructure using Linux.
But, even if you’re not interested in systems administration, knowing Linux can still be helpful. With a working knowledge of Linux, you’ll be able to navigate the command line more effectively. This will assist you in a wide range of technical environments. You’ll also have a better understanding of how computers work.
How Long Does it Take to Learn Linux?
You can expect to learn how to use the Linux operating system within a few days if you use Linux as your main operating system. If you want to learn how to use the command line, expect to spend at least two or three weeks learning the basic commands.
The time it takes you to learn Linux will depend on what your goals are. If you want to learn Linux so you can use a Linux system as your main operating system, you can do so in a few days or weeks.
Learning how to use the command line is a different story. Expect to spend a few weeks learning basic commands. Then, there is a whole world of more complex commands you can learn. Expect to spend six months learning about more advanced commands.
It will take you a shorter period of time to learn Linux if you’ve already worked with a Linux system before. These include the Raspberry Pi and macOS, which are both built upon Linux operating system distributions.
What is Linux Used For?
Linux is an operating system. It is the software that makes all of the other software on a computer work. Operating systems bridge the gap between regular programs (i.e. word processors) and the hardware that runs those programs.
There are many Linux operating systems which operate as desktop environments. Ubuntu is one example. These operating systems let you use Linux as an alternative to another system like Windows or macOS.
Other Linux operating systems are written for tinkering. The Raspberry Pi, for instance, uses Raspbian. It is commonly used for embedded systems applications, robotics, and other computer engineering tasks.
Linux even powers the Android operating system. There are over two billion Android devices in the world. This shows how widespread Linux is, even in places you may not have thought you could find Linux.
Is Linux Hard to Learn?
Linux is not difficult to learn. The more experience you have using technology, the easier you’ll find it to master the basics of Linux.
With the right amount of time, you can learn how to use the basic Linux commands in a few days. It will take you a few weeks to become more familiar with these commands. Of course, this level of practice is not mastery. It will take you months, even years, to learn how to use more advanced commands.
The Linux command line is known for the degree of customization it supports. As a result, you’ll find no shortage of unique combinations for commands and new distributions of Linux. But, you don’t need to know how to use all the advanced commands to build a good understanding of LInux.
If you come from using macOS, you’ll find it easier to learn Linux. This is because macOS is based on UNIX. UNIX incorporates many of the same principles as Linux. You’ll find cross-overs between these two technologies.
Linux is “Open Source.” What Does That Mean?
Linux is distributed under an open source license. This is one of the main reasons Linux has become so prominent.
Open source means it can be used by anyone. Anyone can run Linux, for any purpose. Anyone can study how it works or create their own copy. The term “Linux” itself is trademarked by Torvalds, and the source code for the main project is under copyright.
The Structure of Linux
First, you need to know the structure of the Linux operating system. You should familiarize yourself with the basic components of Linux, how the operating system works, and how these components fit together.
Here are a few topics you should explore to gain a firmer understanding of the structure of the Linux operating system:
- The role of the bootloader, kernel, graphical server, and desktop environment
- Why operating systems are important
- How Linux compares to other operating systems like Windows
- What is a Linux distribution?
Navigating the File System
One of the first things you need to be able to do is navigate around the file system. To do so, you need to learn the command line. A command line is tool that allows you to interact with a computer using a terminal. The alternative is a graphical user interface, which is what you typically see when you boot up macOS or Windows.
Here are the main commands you’ll need to learn to master navigating the file system:
- ls (list files)
- pwd (get current directory)
- cd (change directory)
- mkdir (create directory)
- touch (create file)
- nano (update file)
Changing the File System
Next, you need to know how to change information in the file system. You should learn how to move, delete, and update multiple files using wildcards. Here are a few of the top commands and topics you should learn about:
- Bash profiles
- Launching new sessions
- HOME and PATH
- Environmental variables
Linux Input and Output
You should be able to redirect inputs and outputs to different files and parts of the operating system. Here are the main topics related to input and output with which you should become familiar:
stdin, stdout, stderr
> and >>
< and |
Bash, or shell, scripting allows you to automate similar tasks and batch together commands into a single file. Bash scripts execute in a Bash Linux terminal.
Here are the main topics related to bash scripting that you should learn about:
- Creating a Bash file
- Loops and conditionals
- Accepting user input
Users and Permissions
Linux offers a wide range of user and permission settings. These ensure that only the right users can access specific files and folders on a computer. Here are the main topics you should learn about when it comes to users and permissions:
- What is a user
- How to create a user
- What is a group
- How to create and update a group
- Read, write, and execute file permissions
We’ve only scratched the surface of what you should study when learning Linux. The operating system is so advanced that we cannot possibly list everything you need to know in one article. The above topics constitute the bulk of working with Linux, and learning them will give you a good sense of its fundamentals.