Let’s look at seven key topics to elevate you from a casual Linux user to a power user.
1Shell, Bash, and Scripts
Ashellis defined as a command-line interpreter.
However, there are other shells available, likeZsh, Ksh, fish, and Tcsh.
Lucas Gouveia / How-To Geek |MZinchenko/ Shutterstock
To check what shell youre running, jot down echo $SHELL into the terminal.
Now,ashell scriptis a file containing a series of commands.
These commands are executed in sequence when you launch the script from the terminal.
It uses a client-server model.
The app windows you interact with are called “clients.”
The simplified architecture is also poised to improve security.
At the time of writing, most popular distros have migrated to Wayland.
However, some applications optimized for X11 aren’tyetcompatible with Wayland.
To solve this, we haveXWaylanda compatibility layer, enabling X11 applications to run in a Wayland environment.
To control the placement and appearance of windows on your screen, you havewindow managers.
On the other hand, we havecompositors.
They’re responsible for rendering the content inside each window.
In traditional X11 environments, the window manager and compositor are usually separate components.
To fix this, Wayland combined the window manager and compositor into a single componenttheWayland compositor.
This simplifies the architecture, which can lead to better performance and security.
A kernel is basically the core of the operating system that bridges the hardware and the software.
The official Linux kernel is maintained by Linux Torvalds and the Linux community.
Most distros require you to manually compile the custom kernel and install it on your distro.
However, some advanced distros likeManjaroandGarudagive you aGUI app for replacing the default kernelwith a custom one.
Most modern Linux distros primarily use one of two init systems: SystemD or SysV Init.
Whereas, if it shows “init,” you are using SysV Init.
It’s designed to be faster and more efficient.
My current system running Garuda Linux, also uses SystemD.
However, it has some technical issues which make itdivisive in the Linux community.
As a result, afew Linux distros avoid SystemDand use an older init systemSysV Init.
Other popular init systems include runit, OpenRC, and Upstart.
Each has its own unique approach to managing services and system initialization.
For example, I ran into an issue whereUFW (Uncomplicated Firewall)would automatically get deactivated after rebooting.
To solve this, I needed to use the init system to auto-start UFW during system boot.
Since I was using SystemD I used thesystemctlcommand.
But if I was using SysV, I would’ve needed theservicecommand.
Most Linux systems use ext4 by default, but there are other popular options.
To check the filesystems your Linux distro is using, typedf -Tinto a terminal and hit Enter.
7SELinux and AppArmor
Linux is famous for its security, but itisn’t invulnerable.
To do this, you’re gonna wanna learn aboutSELinuxandAppArmor.
You getSELinuxby default in Fedora and Red Hat Enterprise Linux (RHEL).
However, you’re able to alsoinstall and configureit to run on another distro.
It’s complex but offers comprehensive security, making it suitable for high-security environments.
Next, we haveAppArmor.
AppArmor is thedefault on Ubuntuand SUSE Linux Enterprise Server (SLES).
Thiscomparison of AppArmor and SELinuxshould help you decide which is right for your needs and requirements.