Cutting Through the Jargon - Linux Terms: Decoded
If you’re new to the Linux world, you might have questions about some of the unfamiliar words that seem to pop up everywhere. Terms like distro
, repo
, and desktop environment
.
Maybe you're a Windows 10 refugee looking to get familiar with your new Linux home, or perhaps you're fed up with the locked down nature of mac OS. Whatever you're reason, jumping into the Linux world can be intimidating. There can even be culture shock.
In this article, I’m going define some of the most commonly used (and most technobabble-y) words to help you get more comfortable with the discourse surrounding Linux.
I've organized this in what I believe to be a logical way–starting with simple concepts and building up to larger ones. I'm also trying to group terms that are related to each other.
Many of these are terms I use frequently and without much thought to how strange and truly foreign they can seem, so hopefully you find this useful!
Operating System Jargon
Kernel
The kernel is the program that sits at the core of any operating system. Windows, mac OS, and iOS have one, and so do Linux-based operating systems.
The kernel handles input and output between the user and the hardware. It manages the other programs that are running on the system. It handles the memory management, task scheduling, and more.
In fact, Linux is just the kernel—though colloquially, Linux is used to describe a complete operating systems (which isn’t particularly accurate).
Distro
Distro—short for distribution—means a complete Linux operating system. This includes the Linux kernel, but also the package manager, desktop environment, and other programs.
There are thousands of Linux distros out there, each one aiming to solve a particular problem. Some are meant for desktop computers, other for servers, and more for embedded devices or single-board computers like the Raspberry Pi.
Some of the most common and popular desktop distros are:
- Ubuntu – A great all-around distro
- Fedora – A terrific, stable OS with a fantastic package manager
- Manjaro – A beginner-friendly Arch-based distro
- Linux Mint – Based on Ubuntu, very beginner friendly with a familiar user interface
- Pop!_OS – Based on Ubuntu, beginner friendly with an efficient, custom UI
Immutable Distro
There are some distros out there (like Fedora Silverblue and SteamOS) where the core operating system files are set to read-only. Outside of OS upgrades, the core files are unchangeable. This provides many advantages over a regular distro, but the biggest are security and stability.
Maintainer
The maintainer is the organization that creates and maintains a specific distro. For Ubuntu, the maintainer would be Canonical, for SteamOS the maintainer would be Valve. But a maintainer doesn’t necessarily need to be a for-profit corporation. It can be a non-profit like the Fedora Project, or a group of volunteers.
Upstream/Downstream
If you think of software development as a flowing river, then the original creator of a piece of software (let’s call it App A) is the head of that river. From there, anyone who creates something based on App A would be downstream of the original. In our instance, App B is based on the work of App A. Then someone comes along and creates a new version of App B (let’s call it App C).
So if App C contributes their work back to App B, then that work would be traveling upstream. Conversely, when work from App A makes it to App C, that’d be downstream.
Point Release/Rolling Release
There are two primary ways Linux distros can handle updates to the operating system. The first and more common way is to have a Point Release where there’s a specific version number. For example, Ubuntu 25.04 or Fedora 42.
On the other hand, there are some distros that do not have specific version numbers. Instead, they just continuously upgrade the software and core OS components. This is what’s known as a Rolling Release.
LTS (Long-Term Support)
Some distros offer LTS or Long-Term Support releases with an extended life cycle. This offers a stable base for an organization to build their software on. A regular (non-LTS) release of a distro is often only supported by the maintainer until the next release.
However, LTS distros are provided support (including new package updates, new kernel upgrades, and tech support) well past the next point release of the OS.
Dual Booting
Dual Booting means being able to install multiple operating systems on the same hardware and selecting which OS to boot at startup.
Software Jargon
Binary/Binaries
On Windows, they have .exe
files. On Linux, we call them binaries. These are executable files which typically do not have a file extension. To put it succinctly: A binary is a compiled program built for Linux.
Package
A software package is an archive of files that install an application on your system. Packages are usually, though not always, installed and maintained by your Package Manager.
Types of packages include .deb
, .rpm
, .flatpak
, and .appimage
.
Package Manager
You can almost think of the package manager as an app store for your distro. It’s a program that helps you install other software on your computer.
Typically, a Package Manager pulls from a list of software (called a repo) compiled for the system and hosted by the maintainers. This ensures that your software is built and tested for your specific system.
There are many different package managers for Linux including apt
, dnf
, pamac
, flatpak
and more.
The Package Manager not only helps install software, but it also manages updates and removal.
Repo
A repo (short for repository) is a catalog of software built and tested for your distro. In many cases, the repo is filled with software that’s for the specific version of the distro you’re using.
The repo is usually built and maintained by the distro’s maintainers, but frequently you’ll find there are different categories of repos.
- Main — this is filled with software built and tested for your system by the maintainers. It’s full of free and open source software.
- Restricted — software in this repo generally has some kind of restricted licensing or patent issues.
- Universe — this repo typically hosts community-maintained software.
- Third-party — these are repos maintained by an app developer or other third-party which you add to your package manager.
Process
When you launch an application on your system, it becomes a process (or in some cases many processes). You can use tools like Mission Center or htop
to see the running processes on your system.
Daemon
A daemon is a process that runs in the background. They are typically started when your OS starts and only stopped when you shut down your PC. Daemons in Linux are similar in concept to Services on Windows.
Systemd
systemd is the application that manages daemons running on your PC. You can start, restart, and stop daemons using systemd (among many other commands).
Sign up for The Bryant Blog
Enjoying this article? Learn something new? There are dozens of other posts just like this. Don't forget to join the thousands of others who've subscribed. You'll be one of the first to get notified about new posts and you'll gain access to exclusive content!
No spam. Unsubscribe anytime.
Component Jargon
Desktop Environment
The Desktop Environment is the GUI you use in order to interact with your system. Desktop Environments come in many shapes, sizes, and use cases.
Have some extremely low-powered hardware? Try LXDE or XFCE! Want a great gaming experience? KDE has got you covered. Looking for beautiful and touchscreen-friendly desktop? GNOME is a great choice! There are many more—including PewDiePie’s favorite Hyperland.
Desktop Environments often come with some utility applications bundled in like a calculator, text editor, and sometimes some simple games.
Terminal
The terminal is an app on your computer which provides a CLI (or Command Line Interface). It allows you to more efficiently interface with your computer, though it’s by no means required to use.
Shells
Where terminals let you type commands into a CLI, shells are the programs that interpret those commands. They also provide useful features to make CLI interactions simpler and more intuitive. The default is often sh
or bash
, but there are others including zsh
, fish
, and ksh
.
Scripting
Sometimes called shell scripting, scripting allows you to create automated routines (scripts) that can be executed by the shell automatically. For example, if you wanted to resize a batch of images in a given directory, you could write a shell script which uses a command line application to loop through the image files in the directory and process them.
Concept Jargon
Root
In Linux, root has two meanings: the root user and the root directory.
The root user, sometimes called the superuser, is the ultimate authority. It has total access to every file, every device, every process, and all privileges.
The root directory, represented as /
, is the base of your file system. It contains all other directories, files, and devices.
All files and devices are represented as some location based on the root directory.
Environmental Variable
Environmental Variables are dynamically named values that any program can access. They're a means of configuring a program without updating the code.
File System
The file system is a single directory tree which contains all folders, files, and even hardware devices. It’s important to note that, unlike Windows’ lettered drives (C:\, D:\, etc.), all storage devices are mounted to a specific path on your file system.
Mount
Mounting a drive means attaching a storage device (internal drive, USB stick, flash drive, optical media, etc) to a location on your file system.
Path
Path has two meanings on Linux.
A path is a location in your file system. For example, your home directory is located at the path /home/<username>
.
Alternatively, the PATH is an environmental variable which stores a list of directories that should be checked when attempting to run a command. For example, the command ls
might live at /bin/ls
but since /bin
is in our PATH, we only need to type the name of the command.
Mount Point
When a new USB drive is plugged in to my system, it is assigned a default mount point of /media/<device-id>
. Any files on that drive would be accessible at that location. You could also use the /etc/fstab
config file to assign a different mount point for that device to be mounted to.
Home
The home is a directory that is owned by a Linux user account. It is their personal, private space where user settings, files, and other details are stored.
The user's home directory is usually stored in /home/<username>
.
Can you think of any terms I missed? Let me know in the comments!