What better way to filter through the Linux World than through a Linux jargon buster? The Linux system has, for some time, been the UFO of the Operating Systems universe. Not long ago, the public pronunciation of the word Linux would have mirrored concerning glares from OS users who were yet to understand it. However, as with all the UFO protocols, the most daring step is making the first contact.
The first contact between the curious OS users and the Linux system turned out to be a blessing in disguise or, as the cool kids say, a match made in heaven. It was a perfect friendship. However, for a friendship to last, there must be a means of communication. The SI unit of communication is language. The language of communication between Linux and most of its curious supporters was not blissful initially and turned out to be jargon. However, it never implied that Linux is unteachable.
To navigate the Linux world comfortably, you only need to master and understand a few key terms. Afterward, you will be ready to certify yourself out of the Linux beginner’s class. This article has the Linux jargon busters as the main guests. Let us give this Linux jargon the stage to introduce themselves before the jargon busters take center stage. We should understand this sort-after Linux jargon in a way that relates to their contribution to the Linux OS.
The 10 Most Pursued Linux Jargon
The Linux jargon we want to preview and review are related to the common activities you pursue each time you power up your machine and log in to the Linux OS environment. However, it does not imply that the Linux jargon we will discuss solely resides in a Linux system. The non-Linux systems might also have them. Moreover, we only want to decode them from a Linux system’s point of view.
1. The User Interfaces
This term is the most common in all the operating systems. It does, however, qualify as jargon to decode because of its hideous nature. If, right now, a statistic was carried out where random Linux users were to mention the types of User Interfaces they know, a good number would boldly claim the Graphical and Non-Graphical interfaces. The Graphical interface relates to the desktop environment that most users use to interact with icons and applications. The Non-Graphical interface relates to the terminal, which advanced users use to update their Linux system, run development servers, or even execute scripts.
This presumed statistical response is correct. However, the Linux jargon busters’ response would be GUI, CLI, and TUI. Let us parade these responses one by one.
GUI (Graphical User Interface)
This term is common in all operating systems. A significant portion of all OS users finds the comfort of using a GUI very luring. In the Linux world, desktop Linux users are familiar with this interface. It enables them to easily launch applications and services through graphical icons linked to those apps and services.
Therefore, the Linux jargon busters’ way of defining a GUI is any interaction on an OS environment that primarily involves a touchpad, a mouse, or a touch screen. The mentioned touch interfaces are mediums that initiate a user interaction with visual notions like icons and app launchers related to installed or configured Linux apps and services. Therefore, they enable a user to expose the functionalities of the target apps and services.
Through a Linux desktop environment, you have easy access to your favorite apps like photo editors, browsers, and text editors. GUI has neutralized the assumption of Linux being a geek-only zone.
CLI (Command Line Interface)
CLI is a playground for mature Linux users who are comfortable with the Linux OS’s advanced features and functionalities. It is a command-line program that comes prepackaged with the Linux OS after you install it. It is a comfortable option for users who do not have an addiction to the GUI. Therefore, they use the CLI to perform basic operations like run updates on the entire Linux system or launch apps and services through it.
The CLI accepts inputs from users in the form of commands and performs the requested function if the users are permitted or authenticated to request the system functionalities.
The GUI is an improvisation on the CLI. The evolution of operating systems in the early days had not yet embraced the algorithmic mechanisms of coming up with GUI. The CLI was the only available option for OS interactions. Therefore, fetching and manipulating files, configuring the OS and its apps and services was through CLI.
The early days’ difficulties did not end there as computer screens still lacked the advancement of displaying what the system user typed. The only viable assistant at that time was a paper printer, which confirmed if the commands you typed in did or did not have typos.
Today CLI assists with advanced features like managing networks and setting up firewalls. Its significance remains valid due to its in-depth granular access to such features.
TUI (Terminal User Interface / Text-Based User Interface)
We can think of TUI as the forbidden sibling with strong blood relations to CLI and GUI. We take this notion of ‘a forbidden sibling’ because it is not spoken of much, making its existence somewhat silent. However, it has the genetic makeup of both CLI and GUI. Add part CLI and part GUI, and you will get TUI. Still not making sense? Let us dilute the notion further. Let us, for example, take the terminal window that holds CLI and remove the CLI instance.
We now have a terminal window with nothing on it, including any viable display protocols. Let us now take the GUI of a desktop application like a web browser and remove all the graphical displays. If we do so, we will only remain with a text-based browser. For this text-based browser to come to life, we will put it in the emptied CLI window. In a simple definition, we have created TUI, a text-based User Interface. TUI pioneered the creation of GUI. Therefore, the three User Interfaces’ evolution is in the order: CLI to TUI to GUI.
TUI applications’ commonality remains minimal, but terminal-based text browsers like W3M and Lynx account for the user interface’s authenticity and existence. We can also add to the list some terminal-based games like Bastet and Ninvaders. Their restriction to the terminal environment categorizes them as TUI applications.
Now that we have simplified the UI Linux jargon, It is time to dive into the other jargon that exists because of these interfaces.
2. Binary (Binaries)
Continuous interaction with a Linux system will undoubtedly lead you to constant collisions with this term. You may have come across applications that need you to compile some binary files to make them executable. Your endless internet search for a solution may have led you to a breakthrough that requires you to run a command sequence like this one.
tuts@FOSSlinux:~$ chmod +x app-name.bin tuts@FOSSlinux:~$ ./app-name
You may not have understood anything about the binary jargon, but you blindly executed the required command sequences to find a solution to your nightmare. To understand a binary file, we will have to bring a text file into the picture. They are like the two faces of a coin. Humans can comfortably read a text file but not a binary file. It is because the file is in binary form, which is a long sequence of zeros and ones. Only machine-based systems like an operating system and its application can read and interpret this file.
The Linux jargon busters unravel the binary mystery as online open-source repository-based executable files linked to downloadable applications. Binaries are compiled files with executable code. In most cases, you will need to make them executable by following a command structure like the one mentioned earlier to run and test the program.
A command is a way of getting your Linux system to do what you want. The footprint of command is 100% CLI-based. You initiate a command in the GUI by clicking or tapping on an application’s graphical icon. Even the instance of right-clicking on the Linux desktop environment is a command itself because you have told your system to display something. The applicability of a Linux command makes more sense when on CLI. You will be able to run commands that prompt the Linux system to update itself, install and launch an application, navigate the system, and even manipulate files. Commands are the spine of an operating system like Linux; therefore, their significance is not dismissable.
Distros is a fancy way of saying distributions. All Linux operating systems have a foundation or a mutual upbringing defined by the Linux kernel’s uniqueness. Various Linux developers drew inspiration from this kernel and came up with distinctive Linux distributions. We can use the analogy of the fashion industry to understand distros.
Let’s say several cloth designers can style up individual models of the same body type in a unique way to the fashion world. The way they reveal these fashion models on the runway will define the uniqueness of their fashion brand. Therefore, the Linux kernel’s open-source nature has led to the unraveling of distros like SUSE, Debian, and Ubuntu, among others.
The Linux Flavors jargon has for a long time and continues to be confused with Linux Distros. The Linux jargon busters have the opportunity to clear the air on this issue too. Distros relate to Linux systems as Flavors relate to the Unix system. Therefore, Linux qualifies as a Unix flavor. The same way Linux Distros come with different desktop environments and features is the same approach in Unix Flavors.
However, in this case, the Unix Flavors are defined by different system command structures and hardware specifications. Therefore, we can mention Windows and Mac as other qualifiers of an OS Flavor.
There is no rocket science definition of GNOME. It is simply an open-source desktop environment. Therefore, you can take a Unix-like system with no GUI and marry it with GNOME. It creates a layer that hides the technicalities of a Linux system from the non-technical users. The provisions of this GUI environment are fully integrated, inclusive of other useful default applications like a fully functional web browser and text editor. The source code of this desktop environment is the main reference in many open-source projects. It is because of the stability and reliability reputation it possesses.
GNU denotes an open project dedicated to creating an operating system with the use of wholly free software. The concept of GNU started in 1983 when Richard Stallman wanted to bring to life an OS with Unix’s power and stability. Moreover, he needed this OS to be open-source such that its source code was freely accessible for copying, tweaking, and redistribution. This initiation broadened, and in 1985, it inspired the Free Software Foundation to life. Linus Torvalds then took over this concept in 1991 and came up with the Linux kernel. It was the final piece to the open-source operating system puzzle, which led to the Linux system’s first baby shower.
8. GNU GPL
Since GNU is the landmark for an open-source operating system like Linux, GNU GPL is the rule book that defines the permissible navigation routes. GPL is denoted as the General Public License and defines the rules for copying, altering, and distributing free software. It is the open-source protocol manual. Software like Apache web server and various Linux distributions abide by its rule. It intends to grant users interested in open-source software the needed flexibility and alternatives that make their user experience optimal.
9. Package Manager
The package manager is becoming a household name in most modern Linux distros. You can think of the package manager as the sheriff that keeps your Linus apps in order. It is a great flexibility scheme on a Linux system. It is a one-way road to installing, launching, removing, and even browsing the already-installed Linux apps. This built-in utility’s convenience is obvious; you won’t have to tire yourself on a web browser searching for a software or app.
You might be successful in downloading such an app or software, but then you again find yourself on the same web browser looking for means of configuring and installing it, mostly through internet forums. A package manager is the ultimate software or app manager for your Linux system.
The word root implies the foundation or stability of something. If you combine it with the word user, you get the highest-ranked or most privileged system user (root user). The root users in a Linux system have Sudo privileges or are Sudoer-ranked users. It implies that they have a higher authentication or authorization to perform system-privileged actions like updating or upgrading the system to manipulate specific file structures. In a Linux system, you can operate as a normal user or as a root user.
For instance, the terminal below depicts that the user operating the Linux system is tuts. However, since this user is a Sudoer or has Sudo privileges, the user can update or upgrade the Linux system and perform other privilege-level system functions like editing the Linux OS GRUB.
A Final Note from Your Linux Jargon Busters
You are now familiar with the 10 important Linux jargon that you are likely to randomly collide with on your quest to become an advanced Linux user. However, this time to will be prepared for such collisions because you now have a Linux jargon buster helmet. The more you understand Linux jargon’s implications and applications, the more you will evolve as a Linux user. They are the footprints that collectively hold the Linux system together. Take heed and let them be your guiding manual as you enter the Linux universe.