What follows is a dictionary of various terms related to Linux. It currently resides online at \texttt{https://git.kjodle.net/kjodle/li \\ nux-dictionary}. Go there to buy a paper copy of this book.
\textbf{Note:} A lot of these terms also relate to Unix, upon which Linux is based, and may have little meaning or a different meaning in a Linux context. \textit{Caveat emptor!}
\textbf{n.b.:} Some of these terms may also refer to Mac OSX or Windows. \textit{Intense shuddering intensifies.} I have tried to keep these references to a minimum.
I make no warranty, express or implied, regarding the accuracy, completeness, or currency of any of these terms. Most of the software described herein is in a fairly heavy state of development and things change. Sometimes they change quickly, sometimes they evolve slowly over time, but the salient point is that they change. Sources sometimes confirm one another and sometimes contradict one another because they may be looking at information which was published in different years. The moving hand writes, and having written, moves on.
As well, there is no small amount of controversy regarding the definition of some of these terms. This is to be expected: the Linux community is large and diverse, and some of these terms no doubt have different meanings in different contexts. I have tried to be as thorough in my research as I can, but I have no doubt missed a great many things. If you would like to make aware of errors and/or omissions, contact info is inside the back cover.
I have tried to make as few value judgments as possible, particularly with regard to distros. The best distro is the one that works best for your particular set of needs. The same is true of command options. Anyone can get a directory listing with \textbf{ls}, but I prefer \textbf{ls -Ahl}. You may prefer \textbf{ls -al} or even just \textbf{ls -A}. The choice is yours. While there are often many wrong ways to do something, there are often many right ways to do something, as well.
Likewise, when I point out that a lot of people like a particular item, or that a lot of people dislike a particular item, I am not suggesting that you should be in the same camp, or that I consider either option valid. I am merely reporting what has come up in my research. As much as is humanly possible, I have tried to exclude my own opinion from these pages. My experience is neither broad enough nor deep enough as to inform other's opinions on a wide range of Linux-related topics. When I say that people like or don't like something, I try to include the most often cited reason(s), and in the case where they don't like something, I also try to include the most popular alternatives, if there are any.
With regard to alphabetizing, I do not include the leading dot that indicates a file name (so \texttt{.deb} is in the `d' section), nor do I include an asterisk used as a wildcard (meaning that \texttt{*nix} is alphabetized with other terms that start with `n'). Information about . (dot) and .. (dot dot) directories is found in the `d' section as well.
I created this document in \LaTeX{}, which is an ideal situation for a document like this, because it makes it easy to keep things uniform. It does introduce other issues, however. To see what they were and how I handled them, please consult the source code, listed at the beginning of this introduction, or better yet, the online repo, where I have maintained all branches. Again, if you have suggestions as to how to do it better, contact info is inside the back cover.
When there are variants on a name (e.g., tar and tarball), I generally use the shortest or the most common form as the entry, and list the additional names in parentheses. I generally just go with the shortest as which is the most common will change over time.
I have not included links in any of the entries. Links tend to change or fade away, and your best bet for finding anything is always an internet search. A good search engine is sometimes your best friend.
\textit{q.v.} -- This is an abbreviation of the Latin phrase \textit{quod vide}, which translates as ``which see'' which denotes a cross reference to another item. Essentially, it means ``see also (this other thing).''
\textit{qq.v.} -- Similar to \textit{q.v.} (but an abbreviation of the Latin phrase \textit{quae vide}), this denotes a cross reference to two or more other items. Essentially, it means ``see also (these other things).''
\item[apt] A command (\textbf{a}dvanced \textbf{p}ackaging \textbf{t}ool) for installing new software. It is the front end for the Debian package management system, performing a large number of functions, including downloading of packages, resolving dependencies, and installation of Debian packages (which have a \texttt{.deb} file extension).
\item[Calamares] A distro-agnostic system installer for Linux distributions. It was originally develop in 2014 by Teo Mrnjavac before being picked up by KaOS.
\item[cd] A command for \textbf{c}hanging \textbf{d}irectories. The usual format is \texttt{cd <pathname>}. Just entering \texttt{cd} without specifying a path will take you to the root of your user home directory.
\item[Debian] One of the most popular Linux distros, developed by the Debian Project, which was established by Ian Murdock on August 16 1993. It is one of the oldest Linux distros, and is the basis for many other distros, including Ubuntu (q.v.). All of their distribution codenames are based on characters from the movie \textit{Toy Story}, with the unstable trunk being named ``Sid'' after the character who regularly destroys his toys. ``Debian'' is a portmanteau of Ian's then girlfriend Debra Lynn and his own first name.
\item[distro] Short for ``distribution,'' this refers to a specific version of Linux that is customized with its own software, options, and look and feel. These include things like Ubuntu, Debian, and Fedora. \textit{c.f.} flavor.
\item[fsck] A utility (\textbf{f}ile \textbf{s}ystem che\textbf{ck}) for checking the consistency of a file system. (The Windows equivalent is \texttt{chkdsk}.) fsck runs automatically on every 30th boot of Ubuntu.
\item[KaOS] A desktop Linux distribution that uses the KDE desktop environment and ships with the LiberOffice software suite along with other popular applications that use the Qt toolkit. It is described as a ``lean'' that is built from scratch (i.e., not based on other Linux distros). It is at \href{https://kaosx.us/}{\texttt{https://kaosx.us/}}.
\item[KDE]\textbf{(1)} An international free software community that develops free and open source software, including the Plasma Desktop and many cross-platform applications. It was founded in 1996 by Matthias Ettrich. \\\textbf{(2)} A desktop environment used by the openSuse and Kubuntu Linux distros as well as others.
\item[KDM] The \textbf{K}DE \textbf{D}isplay \textbf{M}anager, which is the standard display manager for the KDE desktop. It provides the initial login screen, and also manages the starting and stopping of X (\textit{q.v.}) server sessions.
\item[man] A command-line utility to display the ``man'' (i.e., manual) page for a particular command. It has many parameters. Some people jest that \texttt{man} is the only command you really need to know. Try \texttt{man man} to start. The actual files that \texttt{man} reads from are generally stored in \texttt{/usr/share/man}. \\\tabto{4mm} A lot of people don't find the \texttt{man} command very helpful, as it generally contains no examples. If you are in this camp, \textit{qq.v.} ``tldr'' and ``info.''
\item[rm] A command line utility for removing files, links, and empty directories. It works silently, and thus should be used with care. The \textbf{-t} (interactive) option prompts the user to confirm each file that is being deleted. It can remove directories that contain files with the recursive option (\texttt{-r} or \texttt{-R}), but as it works silently and any deleted files cannot be recovered, it is always a good practice to combine these two options.
\item[SANE] An acronym for ``Scanner Access Now Easy,'' SANE is an open-source API that provides standardized access for any raster image scanner. It is commonly use on Linux and its API is in the public domain. There are a number of GUIs for accessing SANE, including gscan2pdf, Simple Scan, Skanlite (KDE), SwingSane (cross-platform), and XSane (cross-platform).
\item[SELinux] A Linux kernel security module that provides allows administrators to have more control over who can access the system. It attempts to separate the security policy from enforcement of security decisions. It was originally developed by the National Security Agency (NSA) and was released to the open source community in 2000. It was integrated into the upstream Linux kernel in 2003. Information about security is generally contained in \texttt{/etc/sysconfig/selinux}.
\item[Softlanding Linux System (SLS)] The second Linux distros (after MCC), founded by Peter MacDonald in May 1992. Although touted as an alternative to DOS (its original slogan was ``Gentle Touchdowns for DOS Bailouts'') it was considered buggy by many of its users. It was the first comprehensive Linux distributions in that in addition to the Linux kernel in also included other basic utilities, such as the X Window System (q.v.). It formed the basis of the Slackware distro (q.v.).
\item[sudo] An acronym for \textbf{s}uper\textbf{u}ser \textbf{do}. It provides a fairly safe environment (YMMV, however) for non-root users to access files, directories, and settings, without native root permission. It is required to execute some commands.
\item[tail] A command line utility for printing data from the end of a specified file or files to \texttt{stdout}. It is useful for monitoring log files.
\item[tar (tarball)] Tar is shorthand for ``tape archive.'' Although tape archives are no longer around, tarballs are a common file archive format in Linux. Tarballs are not compressed, but you can use a compression tool such as gzip or bzip2 when creating them to compress the files. The common file extension for a tarball is .tar, as in archive.tar. When combined with gzip, tarballs often take the filename format archive.tar.gz and when combined with bzip2, filenames often assume the filename archive.tar.bz2.
\item[uname] A command line utility that prints basic information about the operating system name and hardware. Several options are available; for example \texttt{-s} prints the kernel name, whereas \texttt{-n} prints the system's host name.
\item[update] To change software or parts of software to newer versions, in order to add new features, eliminate bugs, or enhance security, or for a combination of those three reasons. In Ubuntu, the \texttt{apt} (\textit{q.v.}) application handles updates.
\item[useradd] A command for creating a new user or changing (with the \texttt{-D} option) the defaults for new users. The \texttt{-G} option will allow you to add the user to comma-delimited list of groups upon creation, \texttt{-p} defines an initial password for the account, and \texttt{-U} creates a group with the same name.
\item[window manager] A layer of software that works with the X Window System (\textit{q.v.}) and provides windows management. KDE uses KWin and GNOME uses Metacity.
\item[X (X-11, X-Windows)] A windowing system for bitmap displays which is common on Unix-like operating systems. It handles the low-level tasks for the graphical interface. We typically discuss \textbf{X-11} as the eleventh version is the one currently in use on most Linux desktop systems.
\item[Xfce] A desktop environment that is considered to be one of the most efficient in terms of resource usage, and is therefore often preferred on older machines. It forms the basis of Xubuntu.
As much as possible, I've tried to stick to APA style here, because it focuses on the date the article or book was published, which is relevant here (\textit{q.v.} my remarks in the introduction). I am sure this is not perfect, because the citation style I am most familiar with is MLA style. I have also added the date of access, with the exception of Wikipedia sources, because APA omits this except for Wikipedia articles. The date of access is in square brackets, in the format \texttt{YYYY.MM.DD}.