What is Linux?

And how is it different from Windows and Mac OS X?

Larger CC-0 licensed version of this image can be found here. Also a version without the background.

Just like Windows and Mac OS X, Linux is a computer operating system. It is free and open-source.

There isn’t just one Linux operating system in the world, there are hundreds of different ones. Both free and commercial ones, usually free.

Because there are so many different Linux operating systems available, they are often called as Linux distributions (also called as Linux distro).

The term “Linux” can mean two things:

  1. Linux distribution (Linux operating system)
  2. Linux kernel
Also term GNU/Linux is often used, more about this in the section ‘The term “Linux”’ in the bottom of this article.

Linux distribution

A server or a bare essentials Linux distribution usually consist of:

  1. The Linux kernel — the software on a computer that enables applications to access the devices of that computer. This is developed by Linus Torvalds and thousands of collaborators.
  2. Other essential software, like a bootloader, GNU shell utilities, the bash command line shell (also GNU) and others. They are all produced by different groups of developers. *
  3. Usually a package manager (more about this below)

One way to interact with this kind of Linux distribution is through a command line or the shell, which is a command process that allows you to control the computer via commands typed into a text interface. *

Red Hat Enterprise Linux Server distribution controlled via the shell *

One can also use the shell to install and launch a graphical user interface if needed.

A more comprehensive Linux distribution usually consists of:

  1. The bare essentials mentioned above
  2. Graphical user interface, maybe only a window manager (very basic and light) or a full-blown Desktop Environment (full of features, heavier)
  3. Often various different pre-installed free applications like the Firefox Internet browser or the Libreoffice office suite and many others, depending on what the creators wanted to include
Ubuntu Linux distribution’s graphical user interface or the Unity desktop environment

A Linux distribution can be:

  1. A system developed from scratch (Debian, Red Hat, Arch Linux, …)
  2. A fork of somebody else’s distribution (Ubuntu (based on Debian), Manjaro (based on Arch Linux), …)
  3. A fork based on a fork (Elementary OS (based on Ubuntu), …)

A fork isn’t just a copy of another distro (sometimes they are, though). A well developed forked distro can be visually and functionally entirely different experience than the one it was based upon.

As mentioned above, there are hundreds of different Linux distributions. Here’s a good chart showing some of them (although there are more than that and new ones keep constantly popping up):

Timeline of Linux distributions chart

(Click the above link to open up the full chart, you can clearly see the forks and forks based on forks in there)

Small part of the Timeline of Linux distributions chart about Arch Linux and it’s forks’ evolution steps

Why so many?

Well, people seem to be fond of forking — building on top of others’ work and taking it to a different direction. Like a remix-culture, one could say.

I am myself mostly interested in trying out the top-20 most popular ones and their latest releases (about twice a year) — and, maybe every once in a while some obscure one as well. I tend to like the ones that are quite similar to Windows 7 or Mac OS X, that I could recommend for people coming from that background and who would like to try Linux.

I have written separate articles about my current favorite distros or setting up a multiboot of 5 Linux distributions, if you’re interested.

Desktop environments

Desktop Environments are a very visible and tangible part of a Linux distribution. They are often the unique experience you get from trying out different distros. They are a collection of icons, windows, toolbars, folders, wallpapers and desktop widgets and other similar resources. *

Some of the most popular Linux distro desktop environments (DEs) are Unity, GNOME, Xfce, KDE Plasma, Cinnamon, MATE, LXDE, LXQt, Lumina, Budgie, Deepin and Pantheon, for example.

Like it is for different distros and for about everything in the Linux world, you can find an alternative. Some desktop environments are light but ugly, some are heavy but beautiful, some are better for different situations than others.

No matter whether you install a Debian, Red Hat, Arch Linux or Ubuntu distribution, you can also change their desktop environment to be any of those previously mentioned. However, often you don’t even have to because many of those distros already have different versions of their main distro available with that desktop environment. For example out of Ubuntu (Unity DE) there are flavors like Xubuntu (Xfce DE), Lubuntu (LXDE DE), Kubuntu (KDE Plasma DE), Ubuntu GNOME (GNOME DE), Ubuntu MATE (MATE DE) or out of Fedora there are Fedora Spins. Each of those might have their own developers and communities. They make sure Ubuntu or Fedora work well with the chosen desktop environment. Also Manjaro and many other distributions have these variations/forks/flavors/spins made out of them.

A visualisation of the components of a Linux distribution according to my current knowledge. I’ll update it when I figure out more

It can be even more confusing that you can install multiple desktop environments into a Linux distribution if you wish.

As an example, you can do this for Ubuntu and after that you can switch between Unity and GNOME when you wish. But, maybe it works better for you if you just install the specifically tailored Ubuntu GNOME distro mentioned above.

Memory consumption

Memory usage of different Desktop Environments and Window Managers *

For example, LXDE desktop environment is quite sparing with its memory usage when compared to KDE, as seen in the image on the left.

Sometimes a distro hasn’t got a desktop environment at all, only a window manager, like Bunsen Labs Linux relies onto the Openbox WM (or some distros don’t have even that, only the command line interface or the shell) and that makes even old PCs work blazingly fast.

File managers

A desktop environment usually comes with one type of file manager, but you can install and use many different ones at the same time, if you wish. They often look pretty much the same but can behave a bit differently from one to another. Also the theme used in the distro affects a lot to the looks of a file manager.

Thunar, PCManFM, Nemo and Nautilus file managers in Xubuntu

However, there is also more complicated file managers out there with full of handy keyboard shortcuts etc, like the Krusader or the Midnight Commander, which runs in a terminal-window.

Krusader. Image from here.
Midnight Commander terminal application. Image from here.

Package Managers

Here’s a great explanation about package managers from Howtogeek.com. Below are some modified excerpts from it.

Using a package manager makes installing and updating software easier than on Windows.

Linux users don’t normally download and install applications from the applications’ websites, like Windows users do. Instead, each Linux distribution hosts their own software repositories. These repositories contain software packages specially compiled for each Linux distribution and version. For example, if you’re using Ubuntu 12.04, the repositories you use contain packages specially compiled for Ubuntu 12.04. A Fedora user uses a repository full of packages specially compiled for their version of Fedora.

Think of a package manager like a mobile app store. The package manager also handles updates for all the installed software — assuming they were installed from the software repositories.

Ubuntu’s Software Updater

To install software on Linux, open your package manager, search for the software, and tell the package manager to install it. You’ll generally find a simple, graphical package manager in your Linux distribution’s menus. For example, on Ubuntu, the Ubuntu Software.

Installing KeePass application from Ubuntu Software

If you’re not afraid of using Terminal, you can even install dozens of applications with one single command. I wrote an article about that.

Directory structrure

Another great article from Howtogeek.com
Below are some modified excerpts from it.

The Linux directory structure doesn’t just use different names for folders, it uses an entirely different layout. For example, on Windows, an application might store all its files in C:\Program Files\Application. On Linux, its files would be split between multiple locations — its binaries in /usr/bin, its libraries in /usr/lib, and its configuration files in /etc/.

The contents of / or the root directory

Windows uses backslashes, just as DOS did. For example, the path to a user’s directory on Windows is:

C:\Users\Name

On Linux, the path to a user’s home directory is:

/home/name

Linux doesn’t have drive letters. Instead, it makes other file systems accessible at arbitrary directories.

On Linux, everything is under / — the root directory. There are no files above the root directory, as there are files outside of C: on Windows. When you connect a device, like USB stick, to your computer, it will become available under /media/. The contents of the directory display the contents of the mounted partition.

If you have multiple hard drives or hard drive partitions, you could mount them anywhere you like on your file system. For example, you could place your home directories on a separate partition by mounting another partition at /home. However, you could mount a partition anywhere you like — you could even instead of mounting a USB stick to /media/mj/USB_Stick mount it to the root like: /USB_Stick.

Mounted USB stick in /media/mj/USB_Stick/

My personal habit is to mount one partition of my SSD to /work and another 3TB hard drive to /storage. More about this in this article I wrote.

You can also mount network locations to the root directory, like //server/public/ to /shared, for example.

How to choose a good Linux distribution?

Often if one isn’t interested in trying out a lot of different distros, a safe way is to go for what is most popular.

Distrowatch has some kind of a popularity meter in their site. It is based on page hits for different distros.

Linux Mint, Ubuntu and Zorin OS sure are good distros to try for a first distro. Elementary OS is too, but for me it was a bit too buggy and difficult to get working the way I wanted, but it’s getting better and better and I like to support it. In Patreon and otherwise :)

The term “Linux”

In common speak one could say, in short: “I use Linux” — even if that person is actually using a Linux distribution.

Some people, particularly members of the Free Software Foundation, refer Linux operating system or Linux distribution as GNU/Linux distribution or just GNU/Linux (or sometimes: GNU+Linux) because many of the tools included are GNU components. However, not all Linux installations use GNU components as a part of their operating system. Android, for example, uses a Linux kernel but relies very little on GNU tools. *

It’s a hot debate if a Linux distribution should be called Linux or GNU/Linux (or Mozilla/KDE/Apache/X.org/GNU/Linux). *

My puny personal opinion on this is that it should be called just Linux, because it’s more punchy, catchy, less technical sounding and simpler to understand for the general public, in my mind.

The term Linux is already more popular and more unique as a term.

The term GNU (recursive acronym for GNU’s Not Unix!”) is less popular and not very unique as a term (can be mixed with the Gnu animal).

Not that those are good arguments — but I personally like it simple and clear.

As a side note, GNU community also have their own kernel in development: GNU Hurd*
Another side note, Linus Torvalds originally intended to name Linux as “Freax” but the administrator of the server Torvalds used to distribute the original code named his directory “Linux” after a combination of Torvalds’ first name and the word Unix, and the name stuck. *

Despite all of this, there is considerable appreciation for the GNU project and community and how they have played an important role in the growth of free software, as both a tool and an example and how they have contributed to Linux and practically made it what it is today.



What is Linux?” by Manu Järvinen is a copy-pasted article, woven out of sentences from other sources, like: howtogeek.com, linux.com, opensource.com and Wikipedia.

Constructive critisism and all kinds of feedback about this article is wholeheartedly encouraged — especially on how to make it simpler. ❤