Linux 101

a very quick intro to Linux

Linux 101

Linux is a general-purpose computer operating system, originally released in 1991 by Linus Torvalds. Linux is defined by its kernel, which is the core component of the system. The kernel interacts with the computer hardware to allow software and other hardware to exchange information. Linux was inspired by MINIX which, in turn, was inspired by UNIX.

Linux is based on a philosophy that software and operating systems should be free. Both, free of cost and freely modifiable.

The software license which allows this, in the case of the Linux kernel, is called the GNU General Public License. This emphasis on freedom, both, cost and modification has helped Linux to become popular for many different applications and purposes. And Linux has popped up everywhere from the majority of the servers that run web services we all use to supercomputers, to your wifi router, in cars, mobile phones, and everywhere in between.

Amid all these different kinds of Linux installations, the most important distinction you'll need to be aware of is one of genealogy. While the Linux kernel is more or less the same across nearly all of these installations of Linux, the software that surrounds the kernel that provides capabilities like software package management, control of services, and the location of configuration files differs between them. Many of the tools that come packaged with Linux come from the GNU Project and aren't a part of Linux. And so, taken together, the combination of the kernel and these common tools is often referred to as GNU Linux. Different groups of software and configuration choices that are maintained by individuals or groups of people are called distributions, or distros.

Most major distributions of Linux fall into four categories based on the original distribution from which they were derived. There's Arch, Debian, Red Hat, and Slackware, and any number of other smaller distributions. Depending on your industry, your company, your institution, or any number of other factors, you're likely to end up learning to use the command line on a system that inherits from one of these distributions. Most likely, you'll be using one derived from Debian or Red Hat. Linux Mint, Ubuntu, Elementary OS, and Kali Linux are all derived from Debian. CentOS, Fedora, and Red Hat Enterprise Linux are derived from Red Hat. The history of all of these different distributions of Linux is kind of beyond the scope of this course. But, what this means at its core is that you'll need to be aware of what system you're using and that you may need to adapt what you're doing to account for differences in distributions.

As you begin working with Linux, through the command line, most of what you'll do is the same across the major distributions. That's because the text interface, the command line, is a program called a shell. The Bash shell, which is available almost everywhere. As you extend your learning and explore software packages and system administration you'll start to see differences.