Linux Glossary
A comprehensive glossary of Linux terms and concepts you'll encounter throughout this course and your Linux journey.
A
Absolute Path
A file path that starts from the root directory (/) and specifies the complete location of a file or directory. Example: /home/user/documents/file.txt
APT (Advanced Package Tool)
A package management system used by Debian-based distributions like Ubuntu. Handles software installation, updates, and removal.
Argument
Authorized Keys
A file (~/.ssh/authorized_keys) containing public keys that are allowed to authenticate to an SSH server. Used for passwordless SSH login.
Information provided to a command that modifies its behavior. Example: in ls -l, -l is an argument.
B
Bash (Bourne Again Shell)
The default command-line shell on most Linux systems. Provides command interpretation and scripting capabilities.
Block Device
A device that handles data in blocks, typically storage devices like hard drives and SSDs. Represented in /dev with a 'b' prefix.
Bootloader
Software that loads the operating system when the computer starts. Common Linux bootloaders include GRUB.
C
Character Device
A device that handles data as a stream of characters, typically input/output devices like keyboards and terminals. Represented in /dev with a 'c' prefix.
Command
An instruction given to the computer, typically typed in a terminal. Examples include ls, cd, cp.
Cron
A time-based job scheduler in Unix-like operating systems. Used to schedule tasks to run automatically at specified times.
D
Daemon
A background process that runs without user interaction. Examples include web servers, database servers, and system services.
Desktop Environment
A collection of software that provides a graphical user interface (GUI). Examples include GNOME, KDE, XFCE.
Directory
A special type of file that contains references to other files and directories. Also called a folder.
Distribution (Distro)
An operating system built around the Linux kernel. Examples include Ubuntu, Fedora, Debian, Arch.
E
Environment Variable
A dynamic value that can affect the behavior of running processes. Examples include PATH, HOME, USER.
Executable
A file that can be run as a program. In Linux, executable files have the execute permission set.
F
Filesystem
The method and data structure that an operating system uses to keep track of files on a drive or partition.
Flatpak
A universal application deployment system for Linux. Packages applications with their dependencies in isolated containers.
Free Software
Software that respects users' freedom and community. Can be used, studied, modified, and shared.
G
GNU (GNU's Not Unix)
A project started by Richard Stallman to create a free Unix-like operating system. Provides many essential tools used with Linux.
GPL (General Public License)
A free software license that guarantees users the freedom to run, study, share, and modify the software.
Grep
A command-line utility for searching plain-text data sets for lines that match a regular expression.
H
Home Directory
The personal directory for a user, typically located at /home/username. Contains user's personal files and configuration.
Hostname
The name assigned to a computer on a network. Used to identify the machine.
Host Key
A cryptographic key used to identify an SSH server. Prevents man-in-the-middle attacks by verifying the server's identity.
I
Inode
A data structure on a filesystem that stores information about a file (except its name and actual data). Includes permissions, owner, size, and location.
K
Kernel
The core component of an operating system. Manages hardware resources and provides services to user programs.
Kill
Keypair
A pair of cryptographic keys (public and private) used for authentication. In SSH, the public key is shared with servers while the private key remains secret on your computer.
A command to send signals to processes, typically used to terminate them.
L
Library
A collection of pre-compiled code that programs can use to perform common functions.
Linus Torvalds
The creator of Linux, started the project in 1991 as a student at the University of Helsinki.
Linux
A Unix-like operating system kernel created by Linus Torvalds. Often used to refer to complete operating systems built around this kernel.
Log File
A file that records events or messages from software. Used for debugging and monitoring.
M
Man Page
Manual page documentation for Unix and Linux commands. Accessed with the man command.
Mount
The process of making a filesystem accessible at a certain point in the directory tree.
Monolithic Kernel
A kernel architecture where most services run in kernel space. Linux uses this approach.
N
Nginx
A high-performance web server and reverse proxy. Popular for serving web content and as a load balancer.
Node.js
A JavaScript runtime built on Chrome's V8 JavaScript engine. Used for server-side JavaScript development.
O
Open Source
Software with source code that anyone can inspect, modify, and enhance. Promotes collaboration and transparency.
P
Package
A compressed archive containing software and metadata needed for installation. Managed by package managers.
Package Manager
Software that automates the process of installing, updating, and removing software packages. Examples include APT, YUM, Pacman.
Path
The location of a file or directory in the filesystem. Can be absolute or relative.
Permission
Settings that control who can read, write, or execute files. In Linux, includes owner, group, and others.
Pipe
A mechanism for inter-process communication that sends the output of one command as input to another. Represented by the | character.
Process
An instance of a running program. Each process has a unique process ID (PID).
Private Key
The secret half of an SSH keypair that must never be shared. Remains on your local computer and proves your identity to SSH servers.
Public Key
The shareable half of an SSH keypair. Can be safely distributed to SSH servers you want to access. Located in ~/.ssh/id_*.pub files.
Public Key Cryptography
An encryption system using pairs of keys where the public key encrypts data that only the private key can decrypt. Foundation of SSH key authentication.
Proc
A virtual filesystem in Linux at /proc that contains information about running processes and system state.
R
Read Permission
Permission that allows a user to view the contents of a file or list files in a directory.
Remote Server
A computer system accessed over a network rather than locally. SSH provides secure access to remote servers for administration and file transfer.
Rsync
A fast, versatile file-copying tool that can synchronize files between local and remote systems. Only transfers differences between files, making it efficient for updates and backups.
Relative Path
A file path that starts from the current working directory. Example: documents/file.txt
Root
1. The top-level directory in the filesystem, represented by /. 2. The superuser account with administrative privileges.
Richard Stallman
Founder of the GNU Project and Free Software Foundation. Advocate for free software principles.
S
SCP (Secure Copy Protocol)
A secure file transfer protocol that uses SSH for data transfer. Used to copy files between local and remote systems. Syntax similar to the cp command.
SSH Agent
A program that holds private keys in memory, allowing you to use them without repeatedly entering passphrases. Improves usability while maintaining security.
A cryptographic network protocol for operating network services securely over an unsecured network. Used for remote login, command execution, and secure file transfer. See also: SCP, Rsync, Keypair, SSH Agent.
SSH Config
A configuration file (~/.ssh/config) that stores connection settings for SSH hosts. Allows creating shortcuts for frequently-accessed servers.
Script
A file containing a series of commands that can be executed automatically. Commonly written in Bash, Python, or other scripting languages.
Shell
A command-line interface that allows users to interact with the operating system. Examples include Bash, Zsh, Fish.
Snap
A universal application packaging system developed by Canonical. Packages applications with dependencies in isolated containers.
SSH (Secure Shell)
A cryptographic network protocol for operating network services securely over an unsecured network. Used for remote login and command execution.
Sudo (Superuser Do)
A command that allows users to run programs with the security privileges of another user, typically the superuser.
Symbolic Link
A special type of file that points to another file or directory. Similar to shortcuts in Windows.
System Call
The programmatic way a user program requests service from the operating system kernel.
T
Terminal
A text-based interface for interacting with the computer. Also called console or command line.
Text Editor
A program used for creating and modifying plain text files. Examples include Vim, Nano, VS Code.
Torvalds
See Linus Torvalds.
U
Ubuntu
A popular Linux distribution based on Debian. Known for ease of use and strong community support.
User
An account that can log into and use the system. Each user has a unique username and home directory.
Userland
All the software and services that run in user space, outside the kernel. Includes applications, utilities, and system services.
Unix
A family of multitasking, multiuser computer operating systems. Linux was inspired by Unix design principles.
V
Variable
A symbolic name associated with a value that can change. In shell scripting, used to store and manipulate data.
Vim
A powerful, highly configurable text editor. An improved version of the Vi editor.
Virtual File
A file that doesn't exist on disk but represents system resources or information. Examples include files in /proc and /sys.
W
Web Server
Software that serves web pages to clients over HTTP. Examples include Apache, Nginx.
Working Directory
The current location in the filesystem where commands are executed. Can be checked with the pwd command.
Write Permission
Permission that allows a user to modify the contents of a file or create/delete files in a directory.
X
X Window System
A windowing system for bitmap displays, common on Unix-like operating systems. Provides the foundation for graphical desktop environments.
Execute Permission
Permission that allows a user to run a file as a program or enter a directory.
Related Resources
- Command Cheatsheet - Quick reference for common commands
- External References - Links to additional learning materials
- Module 1: History & Philosophy - Understanding Linux origins
- Module 2: Filesystem Structure - Mastering the filesystem
Linux 101