What's the best linux distro to learn how to use the command line?

Jok1234

New Member
Joined
Apr 12, 2018
Messages
2
Reaction score
2
Credits
0
I'm comepletly new to Linux and I want to learn how to use linux command line. I've heard that archlinux is good for that. Any other reccomendations??
 


Hi @Jok1234, and welcome to the site. The cool thing is.... ALL Linux distros have the command line built right in, so you won't have any trouble finding something to practice on. As you learn a little more, you will find that some distros use variations of the "shell" (another name for the command line)... with BASH being one of the most common and most popular. There are a handful of these variations, but don't worry about them... they mostly operate the same and have the same syntax. When you learn the differences between them, you will have gone far already! :D

Most distros that you might install will boot up in a graphical environment to start, but Arch is different in that. When you install Arch, it does not come with any graphical envirornment... just command line only. So, if you install that and never install a GUI, you will learn Linux commands faster if it's the only thing you have. But that gets a little boring too. And also Arch is quite difficult for a new Linux user to even install on a computer.

I like to suggest that new users try out many different Linux distros before actually installing one. You can run Linux in a "virtual machine" in Windows using VirtualBox or other software. Or you can download various Linux .iso files and burn them to a DVD or USB and run them in "live mode" to test them out. They run a bit slower on DVD/USB, but its a very good way to check them out and make sure that they recognize your computer hardware, like sound and wireless. Even Arch will run in "live mode" though I'm not sure if you will really want to spend much time with it like that. Part of the purpose of Arch starting with so little is so that you can install it and built it up from there with only what you want... not what others have pre-prepared in the typical distros.

Anyway, there's a lot to have fun with. If you have a spare computer that you can dedicate to Linux only, that can help too... it will let you do full installations with many different distros without messing up your Windows (assuming that you run Windows... if you use a Mac, then there are other things that you'll need to consider).

Cheers
 
Hi @Jok1234, and welcome to the site. The cool thing is.... ALL Linux distros have the command line built right in, so you won't have any trouble finding something to practice on. As you learn a little more, you will find that some distros use variations of the "shell" (another name for the command line)... with BASH being one of the most common and most popular. There are a handful of these variations, but don't worry about them... they mostly operate the same and have the same syntax. When you learn the differences between them, you will have gone far already! :D

Most distros that you might install will boot up in a graphical environment to start, but Arch is different in that. When you install Arch, it does not come with any graphical envirornment... just command line only. So, if you install that and never install a GUI, you will learn Linux commands faster if it's the only thing you have. But that gets a little boring too. And also Arch is quite difficult for a new Linux user to even install on a computer.

I like to suggest that new users try out many different Linux distros before actually installing one. You can run Linux in a "virtual machine" in Windows using VirtualBox or other software. Or you can download various Linux .iso files and burn them to a DVD or USB and run them in "live mode" to test them out. They run a bit slower on DVD/USB, but its a very good way to check them out and make sure that they recognize your computer hardware, like sound and wireless. Even Arch will run in "live mode" though I'm not sure if you will really want to spend much time with it like that. Part of the purpose of Arch starting with so little is so that you can install it and built it up from there with only what you want... not what others have pre-prepared in the typical distros.

Anyway, there's a lot to have fun with. If you have a spare computer that you can dedicate to Linux only, that can help too... it will let you do full installations with many different distros without messing up your Windows (assuming that you run Windows... if you use a Mac, then there are other things that you'll need to consider).

Cheers
Thank you :)
 
To expand on the answer from @atanere :

At the end of the day, it doesn't matter what distro you are running, they are all Unix-like operating systems with the Linux kernel at their heart. They all have the same terminals/shells available, they all use the same GNU tools. However they may look on the outside - they are still more or less exactly the same on the inside. If you want to learn how to use the terminal in Linux, then install any linux distro and start using the terminal! :)

In terms of differences between distros, the only REAL differences are things like:
1. The package format and package management system
Different distros use various package formats and package management systems to deal with installing, updating and removing software.
The two major formats are debians .deb format and Red Hats .rpm format.
Most distros use one of those two.
Some other distros like Arch, Gentoo, Slackware etc. use their own unique package format and have tools to deal with administering them.

There are also newer distros like Endless which eschew traditional packaging formats and rely solely on flatpacks or app-images - which are two newer "universal" installer/packaging systems for Linux. Most Linux distros support installing programs via app-images and flat-packs, but there are very few that rely solely on them...

In a way, I like the idea of the flat-packs and app-images. I like that it makes it easier for developers to package their software for use on many different GNU/Linux based systems. But I worry that I will end up with multiple copies of certain large libraries in various parts of my file-system. To me, it might make sense installing one or two programs via these formats, but a whole OS with software packaged that way seems a little too much.... Put it this way, it explains why the base install for Endless OS is a whopping 15Gb.... I think I'll stick with traditional formats thanks!

2. The choice of login manager, Desktop Environment/window manager
Unlike Windows which only has one desktop environment; on Linux based OSes - there are many different desktop environments, login managers and window managers to choose from.

Different distros ship with different desktop environments and window managers.
e.g.
Kubuntu uses KDE/Plasma, Ubuntu has just switched from Unity to Gnome3, lUbuntu uses lxde, xubuntu uses xfce.

RHEL, Fedora, Suse and Debian use Gnome3.
Mint has several editions with different desktops installed by default (Cinnamon, KDE, Mate, or XFCE)

Bunsenlabs and Archbang use openbox - a lightweight window manager.

And distros like Arch will only install a command-line environment and will not install any desktop environment whatsoever. Leaving you to manually choose, install and configure one yourself.

So different distros ship with different desktop environments, but even if you hate a particular distros default desktop, it isn't a huge problem because pretty much all distros have several alternative desktops/window managers and login managers, so you can always replace it, or install any number of other environments alongside the default one. (if you have multiple desktop environments installed, you can usually choose the type of session to log-into on the login page. You can even install and use a different login manager (login page).

3. The default software selection
Different distros ship with a different selection of software by default.

KDE based distros will typically install a selection of QT/KDE based applications, Gnome based distros will install a selection of GTK/Gnome based applications by default.

Lightweight distros like Lubuntu install lightweight alteratives to larger applications e.g. Abiword and Gnumeric instead of Libreoffice writer and Libreoffice calc.

Also, certain distros are aimed at particular types of people.

So for example Ubuntu Studio is aimed at musicians, digital artists and film-makers, so it ships with a large pre-installed selection of multimedia software from digital audio workstations (like ardour and lmms), to artwork applications (gimp, krita), 3D modellers (Blender) and video editing tools (Openshot, kdenlive) etc etc.

And distros like Kali and ParrotOS are aimed at security professionals and is kitted out with a bunch of hacking/cracking/penetration testing and digital forensics tools.

And then there are Linux based gaming OSes

Also there are some ethical factors that come into play.
For example some distros will strictly only install completely FREE (as in freedom) software and disallow ALL non-free software (like Trisquel, or gNewSense).
Most other distros are a bit more liberal and will allow some non-free software in their repositories.
A default install of Debian for example doesn't include any non-free software (apart from a few non-free blobs in the kernel), but they do provide a repository of non-free software that users can optionally install. Other distros are even more liberal and will install non-free software like flash-player or dropbox, or restricted codecs as part of the default install.

The browser choice often varies - Some distros will use Firefox (or iceweasel, which is firefox minus the mozilla/firefox branding) as the default browser. Others will use Chromium or Chrome, or perhaps some other browser!

So the default software selection can vary quite wildly from distro to distro. But again, this is another cosmetic difference. Most distros have huge software repositories, especially those based on Debian, Arch, or Fedora/RHEL. But there are some others with a more limited menu. So unless a distro has a limited range of software available, the default software selection isn't really a major problem because you can always add or remove whatever software you want after you have installed the OS.

However, if you have particular interests (e.g. gaming, pen-testing/security, multimedia) then you might want to consider finding a distro that caters to those tastes.

4. The release model
Different distros use different release models.
For example:
Arch and Arch derived distros are rolling release distros - this means that all software is constantly updated to the latest version. Distros like this are considered bleeding edge. Also, you only need to install them once. Once you have it installed - all you have to do is keep it up to date. The only time you need to re-install is if something goes drastically wrong.

Bleeding edge, rolling distros can be unstable and prone to breakage, but you always have the latest and greatest version of the software. Distros like this are not recommended for complete novices, but when things do go wrong, you will learn a lot in trying to fix any problems!

Many other distros use a point-release model, whereby they make a new release every 6 months, or every year, or two years or five years etc.... And you have to do a fresh install each time a new version of the OS is released. Some distros which use a point-release model (Like Ubuntu) might offer some mechanism to automatically update to the latest version, but sometimes this doesn't always work - so remember to back up any important data before doing a major update.

And then there are semi-rolling distros. To me, Debian is a semi-rolling release - especially if you set the package manager (apt) to track the 'stable', 'testing' or 'unstable' repositories instead of whatever the code-name is for the current version. Then when a new release is eventually tagged as 'stable' or 'testing' the package manager will always switch to track the repo for the new version - meaning no need to re-install. Simply upgrade the entire system to the new version using your normal software updates.

Since my initial installation of Debian in 2015 - my laptop started with Debian 7("wheezy") - tracking the 'stable' "wheezy" repo. I immediately switched to 'testing' which upgraded me to and tracked the development version of "jessie" (Debian 8). In the three years since then I've been upgraded through the development version of Debian 9 ("stretch") and now tracks what will eventually become Debian 10 (AKA "buster")
So "buster" is the current 'testing' repo. When I first installed "Jessie" (Debian 8) was 'testing'.
In all this time, I haven't had to re-install once and I have had literally no problems whatsoever. The package manager tracks 'testing' and upgrades me when a new version is available.

So when trying to decide on a distro based on the release-model, your choices boil down to:
- If you want to always have the latest and greatest versions of your favourite software and you are willing to put up with potential instability and breakage - then you should go for a rolling release distro like Arch or Suse "tumbleweed"

- If you want a rock-solid system that is going to be supported for a long time and you don't mind using slightly older software - then go for something like Debian 'stable', RHEL, or CentOS, or perhaps even a Long Term Support version of Ubuntu.

- If you want something relatively normal that is easy to install and easy to maintain and contains recent enough versions of your favourite software - then install pretty much anything - Fedora, Ubuntu, Debian Testing, Mint. The list goes on.

And not really relevant to the release model, but:
- If you want to really learn about Linux and potentially have a really hard time, you could try installing Linux from scratch, Gentoo, or Slackware. Or perhaps a BSD variant.... They can be fun to set up!

5. The default display server
This isn't really too much of a problem yet. Pretty much all distros still use X11 as the main display server.

The display server deals with compositing and creating windows. At the moment X11 serves as the de-facto base for most of the desktop environments available for Linux. Pretty much all Linux Desktop environments sit on top of X11. But there are a few distros (and desktop environments) that are switching to using Wayland - which is a next-gen compositor set to replace the aging X11.

I think Fedora already uses Wayland as the default compositor, but X11 is still installed for the sake of compatibility. In fact, I think they're using Xwayland - which AFAIK is X11 patched to run as a Wayland client - so other X11 applications will still run.

But if X11 is ever completely removed in favour of Wayland, it would mean that certain unported desktop environments would no longer work. So like I said, although not an issue at the moment, it could be an issue a few years down the line.

I use dwm (a lightweight, tiling window manager) as my primary environment. dwm uses X11, so if my distro of choice ever drops X11, I'd either have to switch to another environment, or switch to another distro that still supports X11.

Anyway, I think that problem is a little way off yet. But it's something to consider. Slightly off-topic, but one project I've been considering is porting dwm to wayland, but I'm not sure I'd ever have the time to undertake it! :/

Summary
Out of all of those above points #1 is the only real major difference between Linux distros.
But it is not an insurmountable difference. It just means learning some slightly different commands for installing, updating and removing packages.
#2 and #3 are superficial, cosmetic things that you will have the power to change after you have installed a distro.
#4 is a case of weighing out your priorities e.g. stability vs instability and breakage, older software vs newer software, ease of maintenance etc. etc..
And #5 isn't really an issue at all at the moment, but it's something that might have to be considered when choosing a distro in the not too distant future.

Ultimately, as a beginner - your best bet is to get yourself a couple of USB drives and try putting a few bootable images of different Linux distros on them and give a few distros a try, to see what you like and what you don't like. If you find something you don't like, move on to try another distro.
If you find one you do like - install it, have a play with it and don't be afraid to make some mistakes.
If you really mess up and are unable to fix it, you can always do a fresh install and start again.
Trust me, we've all been there at one point or another! :)
Just don't forget to back up any important files/data before you jump in and get your feet wet!
 
Last edited:

Members online


Latest posts

Top