DEV Community 👩‍💻👨‍💻

Cover image for A practical beginner introduction to discover the world of Linux
Nicolas Beauvais
Nicolas Beauvais

Posted on • Updated on • Originally published at divinglinux.com

A practical beginner introduction to discover the world of Linux

Linux, you already heard of it, maybe even used it once or twice for work, and certainly a thousand of times without knowing. It has a different aura, something special that you do not feel when thinking about Apple's macOS or Microsoft's Windows, it's loved by geeks, power user, misfits, scientists, engineers...

Read the original article on DivingLinux.com

It's not advertised on TV or online, you most likely won't see any computer sold with Linux in a shop, and yet Linux and its derivatives runs:

  • 100% of the top 500 supercomputers
  • 96% of the internet
  • 85% of all smartphones
  • The International space station
  • Nasa's Perseverance rover on Mars

When it comes to desktop use, Linux sits at 2% [6] of market share, 5% if we count ChromeOS which is based on Linux, way behind macOS and Windows. Going through all the reason behind this would make this article too long and boring [7] so we will stick to one key point: Linux is hard for newcomers.

You need to learn a new vocabulary, find new online resources, learn new ways of doing things, even if the reward is worth it at the end, this can discourage the most tech-savvy users. To make it easier for you, I've made a compilation of the questions I get the most from my students when they begin to learn Linux, and answered them with brief overview answers to make it easy to digest.

Questions covered in this article:

  • What exactly is Linux?
  • What is the difference between Linux, macOS and Windows?
  • Are UNIX, and Linux the same thing?
  • What is GNU?
  • Is macOS based on Linux?
  • What is a Linux distribution?
  • How can I try Linux as a beginner?
  • Tl;dr

What exactly is Linux?

You probably know that Linux is an operating system, but almost nobody uses it directly as is. When we refer to Linux, we most often refer to any operating system that is based on the Linux Kernel.

The Linux Kernel is a secure and stable base program that will handle all the things that you typically don't think about when using a computer, like communicating with the processor, handling the memory, connecting to the internet, receive the keys you pressed on your keyboard and display them on your screen.

This base kernel is then completed by other program to make it operable (see GNU), do specific tasks, or make it easy to use by non-technical users, like Android on mobile or Ubuntu on desktop.

What is the difference between Linux, macOS and Windows?

Contrary to macOS and Windows, the Linux Kernel is free and open-source, meaning that anybody can see the code [8], improve it for everyone or modify it for their particular use case. It also means that you can install and use it for free on any device, but if something goes wrong, there is no hotline to complains to, you're on your own.

As it is not locked in any way by a vendor, you can do anything you want with a Linux operating system. Customize its appearance or behavior, and also make it completely unusable with an ease that you won't find on Microsoft an Apple operating systems. Which is why Linux is loved by power users, and Windows / macOS by companies that want to keep a maximum control on their fleet of devices.

Linux and macOS are both based on a UNIX-like architecture, so there is a lot of similarity between the two operating systems, and most of the command-line knowledge that you learn from one can be applied to the other. Windows on the other end use its own architecture, although, since Windows 10, the Windows Subsystem for Linux (WSL) makes it possible to use a virtualized Linux Kernel and run Linux binaries directly in Windows.

Are UNIX, and Linux the same thing?

They're not, UNIX was created about 20 years before Linux. UNIX got popular with businesses and academics in the 70s, but the creators of Unix used a licensing scheme forbidding modification of the operating system. At this time the GNU project started with the goal of creating a UNIX compatible operating system that was open source and free to use.

Unfortunately the GNU kernel was not complete and progress was slow, then Linux got released and became the go-to Kernel for the GNU suite creating the "GNU/Linux" operating system that we know today.

The UNIX system gave birth to a lot of other operating systems, called UNIX-like[9], as they do not share the same code, but are most of the time compatible and follow a similar architecture. Linux, macOS, FreeBSD or OpenBSD are just a few of them.

What is GNU?

If you look anything related to Linux online, you will see theses three letters in no time "GNU", and sometime in the form "GNU/Linux" but what is it?

GNU is a collection of software written by the GNU project, the most famous being Bash, Gimp, and GRUB to only name a few. Started about 10 years before Linux, had a crucial role in the history of open source and free software, and remains highly important to this day, it is also at the origin of the General Public License (GPL)[10].

The GNU software collection offer a base operating system when coupled with a Kernel (Linux). This is why you can come across the name "GNU/Linux" because most operating-system that use Linux as a Kernel will also use some part of the GNU software collection. There's been some conflict on this particular naming so let's not expand on that, but I advise that you do your own research on the subject[11].

GNU coreutils

A big part of the GNU software collection, that is less known by its name, is coreutils. It is a set of tools to help you use your operating system, most base commands on a Linux operating system, like cd, ls, cp, cat, echo and a few dozens more are part of GNU coreutils.

Is macOS based on Linux?

As we've seen previously, macOS uses a UNIX-like architecture, with its own kernel called XNU[12]. So macOS is definitely not based on the Linux kernel, but they do share a lot of architectural concept and standards. Both operating systems are POSIX[11] compliant, making it easy for user to move from one to the other, with shared base commands that are implemented in a similar way.

What is a Linux distribution?

Installing the raw Linux kernel on your computer is like driving a car, with nothing else than the engine. To do task on your computer you need many tools, something to handle Wifi, bluetooth, a file explorer, a web browser, and so on.

Just like Windows and macOS come prepackaged with everything you need for a general use, Linux distributions, commonly called "Distro" are fully operational operating systems. Each distro as its particularity and targeted audience.

Here is a brief overview of well-known Linux distribution:

General purpose

  • Ubuntu
  • Debian
  • Fedora
  • Manjaro

Advanced use

  • Arch linux
  • Gentoo
  • Void Linux

Cyber security and penetration testing

  • Kali linux
  • BackBox
  • Parrot OS

You can find information on the wide range of Linux distributions on the distrowatch.com website.

How can I try Linux as a beginner?

There is already a fair amount of online tutorials with step-by-step instructions for each technique explained. So I will just give you an overview of what you could do to test a Linux Distribution at home.

Virtual machine

The easiest way to try a Linux distribution is by using a Virtual Machine, for this you can install VirtualBox on Windows or macOS. Choose the Linux distribution that you would like to try and download it as an ISO file, you should find this option on most well-known Linux distribution website. Now run that ISO file using VirtualBox and Tada!

Virtual machine is a way to recreate a "fake" computer on top of your running computer, which can be slow if you do not have a modern computer, but it is the easiest and safest way to learn and try new Linux Distributions.

Live USB

A live USB is a way to install an operating system, in our case a Linux Distribution, on a USB sticks. This allows to boot your computer using the operating system installed on live USB stick instead of the storage device where your computer's usual operating system is installed.

All you need for this method is a USB stick, the ISO file of the Linux distribution that you would like to try, and a tool to move the ISO file to the USB stick and make it bootable. You can try BalenaEtcher which work on Windows and macOs.

Dual boot

The dual boot technique is probably the most complicated one, and you can damage your computer if you're not careful. Dual boot consist on installing a full Linux distribution on your computer along your main operating system (Windows or macOS). This method is probably the best if you are serious about learning to use a Linux operating system, you will be able to leverage the full hardware power of your computer, and still be able to go back to Windows or macOS when necessary.

Creating a dual boot computer can be challenging for beginners, make sure to back up all important files, and do not hesitate to get some help if you do not fully understand a step of the process.

Other computer

One last way is to install Linux on a computer that you are not using, you could also buy a cheap second-hand laptop to experiment. This way you do not risk damaging your main computer.

Tl;dr

Linux is a kernel, a piece of code that allow other software to communicate with the hardware of your computer, it is inspired by and compliant with the UNIX kernel.
Combine the Linux kernel with GNU utils, a set of basic programs, and you have a basic, but fully working operating system which is referred as "GNU/Linux".

MacOS is based on UNIX too, which is why there is similarity between macOs and Linux-based operating systems.
Distro, or distributions, are variant of the "GNU/Linux" operating system, with carefully chosen default settings and installed programs that make it easier to use.

Conclusion

I hope this article cleared things out for you. I did not include many names or dates to not complicate things too much and keep the explanations as concise as possible. Don't hesitate to look for more info on Wikipedia or other sources I linked, the history of Linux and the people who created its ecosystem is fascinating.

Sources:


If you want to learn more on this topic, consider trying DivingLinux.

You will learn to use Linux from the command-line with confidence, by doing interactive hands-on exercises, and build strong foundation in monitoring, networking, and system administration.

Top comments (0)

We are hiring! Do you want to be our Senior Platform Engineer? We're hiring for a Senior Platform Engineer and would love for you to apply.

Head here to learn more about who we're looking for.