Linux Fundamentals Part 1 – An Introduction
I can only speak for myself personally, but I found diving into Linux to be a truly excellent learning experience and was a fundamental step in earning a larger understanding of information systems. One hindrance I ran into was finding a single resource that provided a top-down view of the Linux operating system completely agnostic of the various distributions. The goal of this guide will be to provide someone with no prior Linux experience enough information to get them up and running.
What will be discussed in this series?
What is Linux?
Its historical relevance and background
Linux file architecture
How Linux works
The Linux command line
Various tips and tricks
What will not be discussed
How to install Linux
“How can I use Linux to do ____?”
“What distribution is best for me?”
Linux is better than _____
All of the information I want to cover will span across multiple articles that will likely get more and more technical as they continue. If there is information that isn’t discussed that you would like to see, please stop by the About Us page and shoot us a message. Otherwise, I’d be willing to bet you’d be able to find answers to your question the same way you stumbled upon this.
History of Linux
The long and successful history of Linux began in 1983, when a computer scientist by the name of Richard Stallman undertook the GNU Project. “GNU” is an acronym which refers to itself, given its actual name GNU’s Not Unix. The name Stallman chose for his new operating system was indicative of the fact that Unix, the largely universal operating system at this time, was becoming progressively closed source. Stallman was an advocate of the Free Software ideology (more on this later) and the ethical concept that software source code should be openly available. Whether Stallman anticipated a modern world where privacy concerns plague political and social domains is beyond the scope of this paper. Stallman and many others went on to contribute to the GNU Project for the better part of a decade.
Enter 1991, when 21-year old Finnish programmer/karate master Linus Torvald assumed his soon-to-be groundbreaking operating system project. During this timeframe, the GNU Project was undergoing a series of difficulties locating a “kernel”, which is best described as the heart of any operating system. Torvald’s project quickly picked up speed and accumulated many contributors. He had wanted to name his kernel Freax but, when a spelling error on a FTP site dumped his code into a “Linux” directory, the fate of the OS was sealed. To Stallman’s dismay, the GNU Project elected to adopt Torvald’s kernel and the community simply referred to their marriage as “Linux”. Today you may still run into gurus and elitists who refer to the operating system as GNU/Linux.
Why does any of this matter?
Remember Stallman and the whole free software thing? This ideology set the tone for GNU/Linux and the many distributions that followed. Albeit there are many exceptions, the bulk of software available for Linux is all free. It’s interesting to note here that there is a difference between free and open source applications and, depending on your audience, you may deeply offend someone if you declare their software one over the other. The GNU official website preaches that the meaning of “free” extends much further than just price, especially in today’s age. They state proprietary software gives developers a certain level of power over users and, when power is given to one over many, it is likely to be abused. Thus, they created the Four Essential Freedoms of free software:
The freedom to run the program as you wish, for any purpose
Unconditional access to a program’s source code, which allows for the freedom to study and change how it works
The freedom to redistribute copies of the program
The freedom to redistribute copies of modified versions of the program
These freedoms apply, not just to the software that is available for Linux, but to Linux itself. It can be argued that this, not GNU, was Stallman’s greatest gift to the world as there are several hundred distributions available today.
Tying It All Together
Considering that there are so many Linux distributions, how can anyone ever be well-versed enough to be dangerous if they’re handed an unfamiliar machine? The best way distros were described to me was this: They aren’t comparable to different makes of cars. They aren’t even comparable to different models. The only difference between Linux A and Linux B might be that there is an air freshener hanging from the rear-view mirror. Or maybe I create Linux C and just put a lift kit on it so that it appears bigger and better than both. This does not mean, however, that there won’t be any difference between, say Debian and Slackware, child distros. It simply means that, on a very foundational level, all Linux is the same. The terminal commands to install an application on one may be slightly different on another. That said, if you’re familiar driving sedans where the gear selector is near the center console and then you purchase a SUV where it’s behind the steering wheel, you aren’t going to have to learn how to drive all over again. The basic idea will be very familiar and the learning curve won’t be as extreme.
Alright, you’ve passed the Linux Intro boot camp so now we can dig a little deeper. In the next article we’ll be discussing repositories and dependencies, updating/upgrading your system, the file architecture and an introduction to the Linux terminal.