Glossary of Terms
This glossary provides definitions for key concepts covered in the Learning Linux course. Definitions follow ISO 11179 standards: precise, concise, distinct, and non-circular.
7zip Command
A command-line utility for creating and extracting compressed archives using the 7z format.
Example: 7z x archive.7z extracts the contents of archive.7z to the current directory.
Absolute Path
A file path that specifies the complete location from the root directory to the target file or folder.
Example: /home/pi/Documents/report.txt is an absolute path because it starts from the root /.
Alerts and Notifications
Automated messages sent when specific conditions or thresholds are met in a monitoring system.
Example: A temperature sensor can send an email alert when the room exceeds 30°C.
Alias Command
A shell command that creates a shortcut name for a longer command or series of commands.
Example: alias ll='ls -la' creates a shortcut so typing ll runs ls -la.
ALSA Audio
Advanced Linux Sound Architecture, the low-level audio framework that provides kernel-level sound card drivers.
Example: ALSA handles the direct communication between your audio software and the sound hardware.
Ampersand Operator
The & symbol placed at the end of a command to run it in the background.
Example: ./long_script.sh & runs the script in the background so you can continue using the terminal.
Anacron
A task scheduler that runs missed scheduled tasks when the system comes back online after being powered off.
Example: If a weekly backup was scheduled while the Pi was off, Anacron runs it when the Pi starts up again.
ANSI Color Codes
Escape sequences that control text color and formatting in terminal output.
Example: \e[31m sets text to red; \e[0m resets to default color.
Apache Server
A widely-used open-source web server software that serves web pages over HTTP.
Example: Apache can host a personal website on your Raspberry Pi accessible from your local network.
APT Package Manager
Advanced Package Tool, the default package management system for Debian-based Linux distributions.
Example: apt install vim downloads and installs the Vim text editor.
Apt Install
The APT command for downloading and installing software packages from repositories.
Example: sudo apt install python3 installs Python 3 on your system.
Apt Remove
The APT command for uninstalling software packages from the system.
Example: sudo apt remove firefox removes the Firefox browser.
Apt Search
The APT command for finding packages by name or description in available repositories.
Example: apt search image editor lists packages related to image editing.
Apt Show
The APT command for displaying detailed information about a specific package.
Example: apt show nginx shows the description, version, and dependencies of nginx.
Apt Update
The APT command that refreshes the list of available packages from configured repositories.
Example: Running sudo apt update ensures you have the latest package information before installing software.
Apt Upgrade
The APT command that installs newer versions of all currently installed packages.
Example: sudo apt upgrade updates all installed software to their latest available versions.
Apropos Command
A command that searches manual page descriptions for keywords.
Example: apropos compress lists all commands related to file compression.
Archive Formats
File formats used to bundle multiple files into a single container, often with compression.
Example: Common archive formats include .tar, .zip, .7z, and .tar.gz.
Arrow Key Navigation
Using the up and down arrow keys to scroll through previously entered commands in the shell.
Example: Pressing the up arrow retrieves the last command you typed, saving you from retyping it.
At Command
A command that schedules a one-time task to run at a specific future time.
Example: echo "backup.sh" | at 2am runs backup.sh at 2:00 AM tonight.
Audio Configuration
The process of setting up sound input and output devices in Linux.
Example: Audio configuration includes selecting which speakers or headphones receive sound output.
Audio Output
The destination device or channel through which sound is played.
Example: Audio output can be directed to HDMI speakers, USB headphones, or Bluetooth devices.
Audio Troubleshooting
The process of diagnosing and fixing problems with sound playback or recording.
Example: Running aplay -l lists available sound devices to help identify audio issues.
Audit Logs
System records that track security-relevant events like login attempts and file access.
Example: The /var/log/auth.log file records all authentication attempts on the system.
Automation Scripts
Programs that perform repetitive tasks automatically without user intervention.
Example: A script that backs up files every night at midnight is an automation script.
AWS Basics
Fundamental concepts for using Amazon Web Services cloud computing platform.
Example: AWS basics include launching EC2 instances and storing files in S3 buckets.
Background Process
A running program that executes without blocking the terminal, allowing other commands to be entered.
Example: A download running in the background lets you continue using the terminal for other tasks.
Backup Server
A system dedicated to storing copies of data for recovery in case of data loss.
Example: A NAS device can serve as a backup server for all computers on your home network.
Bash Profile
A configuration file (.bash_profile) executed when a user logs into a bash shell.
Example: Adding export PATH=$PATH:/opt/bin to bash_profile makes /opt/bin programs available.
Bash Shell
The Bourne Again Shell, the default command-line interpreter on most Linux distributions.
Example: When you open a terminal on Ubuntu, you're typically using the bash shell.
Bashrc File
A configuration file (.bashrc) executed when a new interactive bash shell starts.
Example: Adding aliases to .bashrc makes them available every time you open a terminal.
Batch Command
A command that queues tasks to run when the system load is low.
Example: echo "./render_video.sh" | batch runs the video rendering when CPU usage drops.
Bell Labs
The research laboratory where UNIX was created in 1969.
UNIX was developed at Bell Labs by Ken Thompson and Dennis Ritchie, establishing many concepts still used today.
Bg Command
A shell command that resumes a suspended job in the background.
Example: After pressing Ctrl+Z to pause a program, typing bg lets it continue running in the background.
Bin Directory
The /bin directory containing essential command binaries needed for system operation.
Example: Basic commands like ls, cp, and cat are stored in /bin.
Block Devices
Storage devices that read and write data in fixed-size blocks, like hard drives and SSDs.
Example: A USB flash drive appears as a block device at /dev/sdb.
Bluetooth
A wireless technology for exchanging data over short distances between devices.
Example: You can connect wireless headphones to your Raspberry Pi via Bluetooth.
Bluetooth Audio
Audio streaming over a Bluetooth wireless connection.
Example: Bluetooth audio lets you play music from your Pi through wireless speakers.
Boot Process
The sequence of operations that occur from powering on a computer until the operating system is running.
Example: The boot process loads the bootloader, then the kernel, then system services.
Bottleneck Analysis
The process of identifying which system component limits overall performance.
Example: If CPU usage is at 100% while disk usage is low, the CPU is the bottleneck.
Brace Expansion
A shell feature that generates multiple strings from a pattern using curly braces.
Example: touch file{1,2,3}.txt creates file1.txt, file2.txt, and file3.txt.
Bracket Expressions
Wildcard patterns using square brackets to match any single character from a set.
Example: ls file[123].txt matches file1.txt, file2.txt, and file3.txt.
Brew Install
The Homebrew command for installing software packages on macOS and Linux.
Example: brew install htop installs the htop process viewer.
Brew Update
The Homebrew command that updates the list of available packages.
Example: Running brew update before installing ensures you get the latest package versions.
BSD Unix
Berkeley Software Distribution, a family of UNIX operating systems derived from AT&T UNIX.
BSD Unix introduced many innovations including the TCP/IP networking stack that powers the internet.
Button Input
Reading the state of a physical button connected to GPIO pins.
Example: A button input can trigger actions like taking a photo or starting a script.
Bzip2 Command
A compression utility that creates smaller files than gzip at the cost of slower speed.
Example: bzip2 largefile.txt compresses the file, creating largefile.txt.bz2.
C Programming Language
A low-level programming language created in 1972, used to write the UNIX and Linux kernels.
C provides direct access to memory and hardware, making it ideal for operating system development.
C vs Rust
A comparison of two systems programming languages: the traditional C and modern Rust with memory safety.
Rust provides memory safety guarantees at compile time, preventing many bugs common in C programs.
Cal Command
A command that displays a calendar in the terminal.
Example: cal 12 2025 shows the calendar for December 2025.
Cat Command
A command that concatenates and displays the contents of files.
Example: cat readme.txt prints the entire contents of readme.txt to the screen.
Character Devices
Devices that transfer data one character at a time, like keyboards and serial ports.
Example: The terminal device /dev/tty is a character device for text input and output.
Chgrp Command
A command that changes the group ownership of files.
Example: chgrp developers project.py assigns the developers group to project.py.
Child Process
A process created by another process, inheriting many of its parent's properties.
Example: When you run a command in the terminal, it starts as a child process of the shell.
Chmod Command
A command that changes the permissions of files and directories.
Example: chmod 755 script.sh makes the script readable and executable by everyone.
Chown Command
A command that changes the owner and optionally the group of files.
Example: chown pi:pi myfile.txt sets both owner and group to pi.
Clear Command
A command that clears all text from the terminal screen.
Example: Typing clear or pressing Ctrl+L gives you a fresh, empty terminal.
Cloud Computing
The delivery of computing services over the internet, including servers, storage, and applications.
Example: Running a Linux virtual machine on AWS is an example of cloud computing.
Cloud Deployment
The process of launching and configuring applications or infrastructure on cloud platforms.
Example: Deploying a web application to AWS involves setting up servers, databases, and networking.
Cloud Engineer
A professional who designs, builds, and manages cloud computing infrastructure.
Cloud engineers work with platforms like AWS, Azure, and Google Cloud to deploy and scale applications.
Cloud Linux Instances
Virtual machines running Linux operating systems on cloud provider infrastructure.
Example: An EC2 instance on AWS running Ubuntu is a cloud Linux instance.
Cloud Providers
Companies that offer cloud computing services, including servers, storage, and networking.
Example: Major cloud providers include Amazon Web Services, Microsoft Azure, and Google Cloud.
Cloud Security
Practices and technologies that protect cloud computing environments from threats.
Example: Cloud security includes encryption, access controls, and network firewalls.
Code Editors
Software applications designed for writing and editing source code with features like syntax highlighting.
Example: Popular code editors include VSCode, Sublime Text, and Atom.
Command Arguments
Values passed to commands that specify what the command should act upon.
Example: In cp file.txt backup/, both file.txt and backup/ are arguments.
Command Flags
Single-letter options preceded by a hyphen that modify command behavior.
Example: In ls -a, the -a flag tells ls to show hidden files.
Command History
A record of previously executed commands stored by the shell.
Example: The history command shows a numbered list of your recent commands.
Command Line Interface
A text-based interface where users type commands to interact with the computer.
Example: The terminal provides a command line interface to Linux.
Command Options
Parameters that modify how a command operates, usually prefixed with dashes.
Example: The -v option often enables verbose output, providing more information.
Command Syntax
The rules governing how commands, options, and arguments must be structured.
Example: The syntax command [options] arguments shows options are optional (in brackets).
Compression Ratios
The relationship between the original file size and the compressed file size.
Example: A 10MB file compressed to 2MB has a compression ratio of 5:1.
Conda Environment
An isolated Python environment managed by the Conda package manager.
Example: conda create -n myproject python=3.9 creates a new environment with Python 3.9.
Container Networking
The system that allows Docker containers to communicate with each other and external networks.
Example: Docker creates a virtual network so containers can talk to each other by name.
Container Registry
A repository for storing and distributing Docker container images.
Example: Docker Hub is a public container registry where you can find images like nginx and python.
Container Volumes
Persistent storage that exists outside containers and survives container restarts.
Example: A volume can store database files so data isn't lost when the container is replaced.
Cost Management
The practice of monitoring and optimizing cloud computing expenses.
Example: Shutting down unused instances and choosing appropriate instance sizes reduces costs.
Cowsay
A program that displays a cow (or other character) saying a message in ASCII art.
Example: cowsay "Hello Linux!" shows a cartoon cow with a speech bubble.
Cp Command
A command that copies files and directories.
Example: cp photo.jpg backup/ copies photo.jpg into the backup directory.
CPU Benchmarks
Tests that measure processor performance for comparison purposes.
Example: Running a CPU benchmark helps determine if a Raspberry Pi 5 is faster than a Pi 4.
CPU Usage
The percentage of processing capacity currently being used by the system.
Example: At 50% CPU usage, half of the processor's capacity is available for additional work.
Creating Aliases
The process of defining shortcut commands in the shell configuration.
Example: Adding alias update='sudo apt update && sudo apt upgrade' to bashrc creates the update shortcut.
Cron Daemon
The background service that executes scheduled commands at specified times.
The cron daemon checks the crontab files every minute to see if any scheduled tasks need to run.
Cron Examples
Common patterns for scheduling recurring tasks with cron.
Example: 0 2 * * * runs a command daily at 2:00 AM; */5 * * * * runs every 5 minutes.
Cron Schedule Fields
The five time-related fields in a crontab entry: minute, hour, day, month, and weekday.
Example: The fields 30 4 * * 1 mean "at 4:30 AM every Monday."
Cron Syntax
The format used to specify when scheduled tasks should run.
Example: Cron syntax uses five fields (minute, hour, day, month, weekday) followed by the command.
Crontab Command
A command for viewing and editing the user's scheduled task table.
Example: crontab -e opens your crontab file for editing scheduled tasks.
Ctrl Key Shortcuts
Keyboard combinations using the Control key to perform actions quickly.
Example: Ctrl+C terminates the running command; Ctrl+L clears the screen.
Curl Command
A command-line tool for transferring data using URLs and various protocols.
Example: curl https://example.com retrieves the HTML content of a web page.
Current Directory
The directory you are currently working in, represented by a single dot (.).
Example: ls . lists files in the current directory, equivalent to just ls.
Current Monitoring
Measuring the electrical current draw of circuits connected to GPIO pins.
Example: Current monitoring prevents damage by ensuring components don't draw too much power.
Custom Prompts
User-defined shell prompts that display personalized information.
Example: A custom prompt might show the current git branch, time, or battery level.
Data Logging
Recording measurements or events over time for later analysis.
Example: A weather station logs temperature readings every hour to track climate patterns.
Data Pins
GPIO pins configured for sending or receiving digital signals.
Example: Data pins connect to sensors, LEDs, and other electronic components.
Date Command
A command that displays or sets the system date and time.
Example: date "+%Y-%m-%d" outputs the date in YYYY-MM-DD format.
DC Motors
Electric motors that run on direct current and spin continuously.
Example: DC motors are used in fans, wheels for robots, and motorized projects.
Debian
A Linux distribution known for stability, serving as the foundation for Ubuntu and Raspberry Pi OS.
Debian's package management system (APT) is used by many other distributions.
Debugging Tools
Software utilities that help identify and fix errors in programs.
Example: GDB allows you to pause program execution and examine variables to find bugs.
Default Permissions
The permission settings automatically applied to newly created files and directories.
Example: On many systems, new files are created with permissions 644 (rw-r--r--).
Dennis Ritchie
Co-creator of UNIX and inventor of the C programming language at Bell Labs.
Dennis Ritchie's work on C enabled UNIX to be portable across different computer architectures.
Desktop Directory
A folder in the home directory whose contents appear on the graphical desktop.
Example: Files placed in ~/Desktop appear as icons on the desktop background.
Dev Directory
The /dev directory containing device files that represent hardware components.
Example: /dev/sda represents the first hard drive; /dev/tty represents the terminal.
Device Files
Special files in /dev that provide interfaces to hardware devices.
Example: Writing to /dev/null discards data; reading from /dev/random provides random bytes.
DevOps Engineer
A professional who combines software development and IT operations to improve deployment processes.
DevOps engineers automate building, testing, and deploying software using tools like Docker and Kubernetes.
Df Command
A command that displays disk space usage for mounted file systems.
Example: df -h shows disk usage in human-readable format (GB, MB).
Diff Command
A command that compares two files and shows the differences between them.
Example: diff old.txt new.txt shows which lines were added, removed, or changed.
Digital Signals
Electrical signals that represent binary values (high/low, on/off, 1/0).
Example: A GPIO pin set to HIGH sends 3.3V; set to LOW sends 0V.
Directory Structure
The hierarchical organization of folders in a file system.
Example: Linux uses a tree structure with / (root) at the top and directories branching below.
Disk Benchmarks
Tests that measure storage device read and write speeds.
Example: Disk benchmarks reveal that an SSD is typically 10x faster than an SD card.
Disk Partitions
Logical divisions of a physical storage device that act as separate units.
Example: A disk might have one partition for the operating system and another for data.
Disk Usage
The amount of storage space consumed by files and directories.
Example: The du command shows how much disk space each folder uses.
Display Configuration
Settings that control screen resolution, orientation, and multi-monitor arrangements.
Example: Display configuration lets you set your monitor to 1920x1080 at 60Hz.
Display Resolution
The number of pixels displayed on screen, measured as width × height.
Example: A 1920×1080 resolution displays about 2 million pixels.
DNS
Domain Name System, the internet service that translates domain names to IP addresses.
Example: DNS converts "google.com" to an IP address like 142.250.80.14.
DNS Server
A server that responds to DNS queries with IP addresses for requested domain names.
Example: Pi-Hole can act as a DNS server that blocks ads while resolving domain names.
Docker
A platform for developing, shipping, and running applications in isolated containers.
Docker packages applications with all their dependencies, ensuring they run the same everywhere.
Docker Build
The Docker command that creates an image from a Dockerfile.
Example: docker build -t myapp . creates an image named "myapp" from the current directory's Dockerfile.
Docker Commands
The set of instructions for managing Docker images, containers, and resources.
Example: Common commands include docker run, docker ps, docker stop, and docker rm.
Docker Compose
A tool for defining and running multi-container Docker applications using a YAML file.
Example: Docker Compose can start a web server, database, and cache with a single command.
Docker Containers
Running instances of Docker images that provide isolated environments for applications.
Example: Each container has its own filesystem, networking, and processes separate from the host.
Docker Images
Read-only templates containing an application and its dependencies used to create containers.
Example: The python:3.9 image includes Python 3.9 and can be used to run Python apps.
Docker Run
The Docker command that creates and starts a container from an image.
Example: docker run -d -p 80:80 nginx starts an nginx web server in the background.
Dockerfile
A text file containing instructions for building a Docker image.
Example: A Dockerfile specifies the base image, files to copy, and commands to run.
Documents Directory
A folder in the home directory intended for storing user documents.
Example: Word processing files and PDFs are typically saved in ~/Documents.
Dot Files
Hidden configuration files whose names begin with a dot (period).
Example: .bashrc and .gitconfig are dot files that configure bash and git respectively.
Downloads Directory
A folder in the home directory where web browsers save downloaded files.
Example: Files downloaded from websites are typically saved to ~/Downloads.
Dpkg Command
The low-level Debian package manager for installing .deb package files.
Example: dpkg -i package.deb installs a package file directly without resolving dependencies.
Du Command
A command that estimates file and directory space usage.
Example: du -sh ~/Documents shows the total size of your Documents folder.
Echo Command
A command that displays text or variable values to the terminal.
Example: echo "Hello, $USER" outputs "Hello," followed by your username.
Editor Selection
Choosing which text editor to use as the system default.
Example: The EDITOR environment variable determines which editor opens for git commits.
Environment Variables
Named values stored in the shell that affect how programs run.
Example: The PATH variable lists directories where the shell looks for commands.
Error Redirection
Sending error messages to a file or other destination instead of the screen.
Example: command 2> errors.log saves error messages to errors.log.
Etc Directory
The /etc directory containing system-wide configuration files.
Example: Network settings are stored in /etc/network/ and user accounts in /etc/passwd.
Execute Permission
A file permission that allows running a file as a program or entering a directory.
Example: A script needs execute permission (chmod +x) before it can be run.
Exit Command
A command that closes the current shell session.
Example: Typing exit or pressing Ctrl+D closes the terminal window.
Export Command
A command that makes a shell variable available to child processes.
Example: export API_KEY="secret" makes API_KEY accessible to programs run from this shell.
Extended Regex
Regular expressions with additional syntax features enabled by the -E option.
Example: Extended regex allows + and ? quantifiers without backslash escaping.
External Power
Electricity supplied from a separate power source to circuits connected to GPIO.
Example: Motors typically require external power because GPIO pins can only supply small currents.
Ext4 File System
The fourth extended file system, the default Linux file system with journaling support.
Ext4 can handle files up to 16TB and volumes up to 1EB (exabyte).
Fdisk Command
A command-line utility for viewing and managing disk partition tables.
Example: fdisk -l lists all disk partitions on the system.
Fg Command
A shell command that brings a background or suspended job to the foreground.
Example: After running a job in the background with &, fg brings it back to the foreground.
Figlet
A program that creates large text banners using ASCII art characters.
Example: figlet "Linux" displays "Linux" in large decorative letters.
File Archiving
Combining multiple files into a single file for easier storage or transfer.
Example: The tar command archives files without compression; adding gzip compresses them.
File Attributes
Metadata associated with files such as timestamps, ownership, and permissions.
Example: The stat command displays all attributes of a file.
File Command
A command that identifies the type of a file based on its contents.
Example: file image.png outputs "PNG image data" even if the extension is wrong.
File Compression
Reducing file size by encoding data more efficiently.
Example: Compressing a 100MB log file might reduce it to 10MB using gzip.
File Encryption
Protecting files by converting them to unreadable format using cryptographic keys.
Example: GPG encryption ensures only someone with the correct key can read the file.
File Globbing
Using wildcard patterns to match multiple files in shell commands.
Example: rm *.tmp removes all files ending with .tmp in the current directory.
File Permissions
Settings that control who can read, write, and execute files.
Example: Permissions 644 mean the owner can read/write, others can only read.
File Search Patterns
Wildcard and regex patterns used to find files matching specific criteria.
Example: The pattern *.txt matches all files ending in .txt.
File System
The method used to organize and store files on storage devices.
Example: Linux commonly uses ext4, while USB drives often use FAT32 or NTFS.
File System Types
Different formats for organizing data on storage devices.
Example: ext4 is optimized for Linux; NTFS is Windows' native format; FAT32 works everywhere.
File Timestamps
Records of when files were created, modified, and last accessed.
Example: ls -l shows the modification timestamp; stat shows all three timestamps.
Final Projects
Culminating assignments that integrate multiple concepts learned throughout a course.
Example: Building a home server with web hosting, media streaming, and VPN is a final project.
Find by Name
Using the find command to locate files matching a specific name pattern.
Example: find /home -name "*.py" finds all Python files in the /home directory.
Find by Size
Using the find command to locate files based on their size.
Example: find . -size +100M finds files larger than 100 megabytes.
Find by Time
Using the find command to locate files based on when they were modified or accessed.
Example: find . -mtime -7 finds files modified in the last 7 days.
Find by Type
Using the find command to locate only files, directories, or other specific types.
Example: find . -type d finds only directories, not files.
Find Command
A powerful command for searching files and directories based on various criteria.
Example: find /var -name "*.log" locates all log files in /var.
Find with Exec
Running a command on each file found by the find command.
Example: find . -name "*.tmp" -exec rm {} \; deletes all .tmp files found.
Firewall Basics
Fundamental concepts of network security systems that control incoming and outgoing traffic.
Firewalls use rules to allow or block network connections based on ports, IP addresses, and protocols.
Firewall Rules
Configuration settings that specify which network traffic to allow or block.
Example: A rule might allow SSH connections on port 22 while blocking all other incoming traffic.
Flatpak
A universal package format for distributing Linux applications across different distributions.
Example: Flatpak apps run in sandboxed environments with controlled access to system resources.
Flash Drives
Portable solid-state storage devices that connect via USB.
Example: A flash drive can store a Linux installation image for booting and installing on computers.
Fold Command
A command that wraps lines to a specified width.
Example: fold -w 80 long_lines.txt wraps text at 80 characters per line.
Foreground Process
A running program that controls the terminal and receives keyboard input.
Example: When you run nano file.txt, the editor is a foreground process.
Free Command
A command that displays memory usage statistics.
Example: free -h shows total, used, and available RAM in human-readable format.
Fstab File
The /etc/fstab file that defines how storage devices are mounted at boot time.
Example: Adding an entry to fstab ensures an external drive mounts automatically on startup.
Future of Linux
Predictions and trends for Linux development including Rust adoption and new applications.
Linux continues to expand into space exploration, autonomous vehicles, and edge computing.
Game Server
A computer running software that hosts multiplayer games for connected players.
Example: A Minecraft server lets friends connect and play together in the same world.
GDB Debugger
The GNU Debugger, a tool for examining and controlling program execution.
Example: GDB lets you pause a program, inspect variables, and step through code line by line.
Git Add
The git command that stages changes for the next commit.
Example: git add script.py stages script.py so it will be included in the next commit.
Git Basics
Fundamental concepts of the Git version control system.
Git tracks changes to files over time, allowing you to review history and collaborate with others.
Git Branch
A parallel version of a repository for developing features without affecting the main code.
Example: Creating a feature-login branch lets you work on login code separately.
Git Clone
The git command that creates a local copy of a remote repository.
Example: git clone https://github.com/user/project.git downloads the entire project.
Git Commit
The git command that saves staged changes with a descriptive message.
Example: git commit -m "Add login feature" saves changes with that message.
Git Init
The git command that initializes a new Git repository in the current directory.
Example: git init creates a .git folder and enables version tracking.
Git Merge
The git command that combines changes from one branch into another.
Example: git merge feature-login brings the feature-login changes into your current branch.
Git Pull
The git command that fetches and integrates changes from a remote repository.
Example: git pull origin main downloads and merges the latest changes from the main branch.
Git Push
The git command that uploads local commits to a remote repository.
Example: git push origin main sends your commits to the remote main branch.
GitHub
A web-based platform for hosting Git repositories and collaborating on code.
GitHub provides features like issue tracking, pull requests, and project management tools.
GitHub Repositories
Projects hosted on GitHub containing code, documentation, and version history.
Example: Open-source projects like Linux itself are hosted as GitHub repositories.
GitHub SSH Keys
Cryptographic keys used to authenticate with GitHub without entering passwords.
Example: Adding your public SSH key to GitHub allows secure, password-free git operations.
GNU Project
A free software project started in 1983 to create a complete UNIX-like operating system.
The GNU tools (gcc, bash, coreutils) combined with the Linux kernel form complete Linux distributions.
GPIO Ground Pins
GPIO header pins connected to electrical ground (0V) for completing circuits.
Example: LEDs and sensors need a ground connection to complete their electrical path.
GPIO Header
A row of pins on the Raspberry Pi for connecting external electronic components.
Example: The 40-pin GPIO header allows connections to sensors, LEDs, motors, and displays.
GPIO Input
Reading electrical signals from sensors and buttons through GPIO pins.
Example: A button connected to GPIO creates a high or low signal when pressed.
GPIO Output
Sending electrical signals to control components through GPIO pins.
Example: Setting a GPIO pin to HIGH turns on an LED connected to that pin.
GPIO Pins
General Purpose Input/Output pins for connecting the Raspberry Pi to external hardware.
GPIO pins can be programmed to read sensors, control LEDs, drive motors, and more.
GPIO Power Pins
GPIO header pins that provide 3.3V or 5V power to external circuits.
Example: The 5V power pins can provide up to a few hundred milliamps to small circuits.
GPIO Programming
Writing code to control the input and output of GPIO pins.
Example: Python libraries like gpiozero make it easy to control LEDs and read buttons.
GPIO Voltage
The electrical voltage levels used by GPIO pins, typically 3.3V on Raspberry Pi.
Example: GPIO pins are 3.3V logic—connecting 5V directly can damage the Pi.
GPG Encryption
GNU Privacy Guard, a tool for encrypting files and communications using public-key cryptography.
Example: gpg -c secret.txt encrypts the file with a password; gpg -d decrypts it.
GPU Benchmarks
Tests that measure graphics processing unit performance.
Example: GPU benchmarks help compare gaming and rendering capabilities between systems.
GPU Performance
The processing capability of a graphics card for rendering images and parallel computation.
Example: Machine learning training benefits greatly from high GPU performance.
Grep Command
A command that searches files for lines matching a pattern.
Example: grep "error" logfile.txt shows all lines containing the word "error."
Grep Options
Flags that modify how grep searches and displays results.
Example: grep -i ignores case; grep -r searches recursively; grep -n shows line numbers.
Group Management
Administrative tasks for creating, modifying, and deleting user groups.
Example: Creating a "developers" group lets you manage project access for multiple users.
Group Permissions
File access rights that apply to all members of the file's assigned group.
Example: A file with group permissions rw- allows group members to read and write it.
Gunzip Command
A command that decompresses files compressed with gzip.
Example: gunzip archive.gz restores the original file.
Gzip Command
A command that compresses files using the LZ77 algorithm.
Example: gzip largefile.txt creates largefile.txt.gz and removes the original.
Hard Links
File references that point directly to the same data blocks on disk.
Example: A hard link is indistinguishable from the original file—both share the same content.
HDMI Output
High-Definition Multimedia Interface connection for transmitting video and audio to displays.
Example: Connecting a Raspberry Pi to a TV or monitor typically uses HDMI output.
Head Command
A command that displays the first few lines of a file.
Example: head -20 logfile.txt shows the first 20 lines of the log file.
Help Command
A command that displays usage information for shell built-in commands.
Example: help cd shows information about how to use the cd command.
Hidden Files
Files whose names begin with a dot, not shown by default in file listings.
Example: Configuration files like .bashrc are hidden to reduce clutter.
History Command
A command that displays the list of previously executed commands.
Example: history | grep ssh shows all SSH commands you've recently used.
Home Assistant
An open-source home automation platform that runs on Raspberry Pi.
Example: Home Assistant can control smart lights, thermostats, and security systems.
Home Automation
Using technology to automatically control household systems and appliances.
Example: Lights turning on at sunset and off at bedtime is home automation.
Home Directory
A user's personal folder for storing files, typically located at /home/username.
Example: The tilde (~) is a shortcut for your home directory.
Home Monitoring
Using sensors and cameras to track conditions and activity in a home.
Example: Temperature sensors and motion detectors can alert you to unusual conditions.
Home Subdirectories
Folders within the home directory for organizing personal files.
Example: Common subdirectories include Documents, Downloads, Pictures, and Desktop.
HOME Variable
An environment variable containing the path to the current user's home directory.
Example: cd $HOME or cd ~ both take you to your home directory.
Homebrew
A package manager originally for macOS, now also available for Linux.
Example: brew install tree installs the tree command for directory visualization.
Hostname Command
A command that displays or sets the system's network name.
Example: hostname outputs the computer's name; sudo hostname newname changes it.
Hostname Resolution
The process of converting hostnames to IP addresses.
Example: Hostname resolution translates "raspberrypi.local" to 192.168.1.100.
Htop Command
An interactive process viewer with a more user-friendly interface than top.
Example: htop shows CPU, memory, and processes with color coding and mouse support.
Ifconfig Command
A legacy command for viewing and configuring network interfaces.
Example: ifconfig eth0 displays the configuration of the ethernet interface.
IFTTT Integration
Connecting devices and services using the "If This Then That" automation platform.
Example: An IFTTT integration can log Pi sensor readings to a Google spreadsheet.
Index Databases
Pre-built databases that speed up file searches, like the locate command's database.
Example: The locate command uses an index database updated daily by updatedb.
Infrastructure as Code
Managing and provisioning computing infrastructure through configuration files rather than manual setup.
Example: Terraform files describe servers to create on AWS, making deployments repeatable.
Input Redirection
Sending file contents to a command instead of keyboard input.
Example: sort < unsorted.txt reads from the file instead of waiting for typed input.
Interactive Shell
A shell session where a user types commands and sees immediate output.
Example: When you open a terminal and type commands, you're using an interactive shell.
Internet of Things
Network-connected devices that collect data and perform automated actions.
Example: Smart thermostats, security cameras, and connected sensors are IoT devices.
Iostat Command
A command that reports CPU and input/output statistics.
Example: iostat -x 1 shows detailed disk I/O statistics every second.
Ip Command
The modern replacement for ifconfig for managing network interfaces.
Example: ip addr show displays IP addresses for all network interfaces.
IP Address
A numerical label assigned to devices on a network for communication.
Example: 192.168.1.100 is a typical private IP address on a home network.
Jellyfin Server
An open-source media server for streaming movies, music, and photos to devices.
Example: Jellyfin lets you access your media library from any device on your network.
Jobs Command
A command that lists background and suspended jobs in the current shell.
Example: jobs shows jobs with their status (running, stopped) and job numbers.
Ken Thompson
Co-creator of UNIX and the B programming language at Bell Labs.
Ken Thompson's work included creating the first UNIX file system and the ed text editor.
Key-Based Auth
Authentication using cryptographic key pairs instead of passwords.
Example: SSH key authentication is more secure than password login.
Kill Command
A command that sends signals to processes, often used to terminate them.
Example: kill 1234 sends the default TERM signal to process ID 1234.
Kill Signals
Named codes sent to processes to request specific actions like termination or restart.
Example: SIGTERM (15) requests graceful shutdown; SIGKILL (9) forces immediate termination.
Killall Command
A command that terminates all processes matching a specified name.
Example: killall firefox stops all running Firefox processes.
LED Control
Programming GPIO outputs to turn LEDs on and off.
Example: Blinking an LED is often the first GPIO project, like "Hello World" for hardware.
LED Strip
A flexible circuit board with multiple LEDs that can be individually controlled.
Example: A NeoPixel LED strip can display flowing rainbow colors controlled by a Raspberry Pi.
Less Command
A pager program that allows scrolling through file contents.
Example: less largefile.txt lets you scroll up and down through the file.
Light Sensor
An electronic component that detects ambient light levels.
Example: A light sensor can trigger lights to turn on when darkness falls.
Linus Torvalds
The creator of the Linux kernel, which he first released in 1991.
Linus Torvalds continues to oversee Linux kernel development as the project's leader.
Linux Careers
Professional opportunities involving Linux system administration, development, and engineering.
Linux skills are valued in roles from system administrators to cloud architects and DevOps engineers.
Linux Certifications
Professional credentials validating Linux knowledge and skills.
Example: Popular certifications include CompTIA Linux+, RHCSA, and LPI certifications.
Linux Distributions
Complete operating systems built around the Linux kernel with additional software.
Example: Ubuntu, Debian, and Fedora are different distributions with their own characteristics.
Linux Easter Eggs
Hidden features or jokes programmed into Linux commands and applications.
Example: The apt moo command displays a cow saying "Have you mooed today?"
Linux in Cars
The use of Linux operating systems in automotive infotainment and control systems.
Automotive Grade Linux (AGL) is used by Toyota, Mercedes, and other manufacturers.
Linux in Space
Linux-based systems used in spacecraft, satellites, and space exploration.
Example: The Mars Ingenuity helicopter runs Linux on its flight computer.
Linux Kernel
The core component of Linux that manages hardware resources and provides essential services.
The kernel handles memory management, process scheduling, and device communication.
Linux Security
Practices and features that protect Linux systems from threats and unauthorized access.
Example: Linux security includes file permissions, firewalls, and encrypted communications.
Ln Command
A command that creates links (shortcuts) to files.
Example: ln -s /long/path/file shortcut creates a symbolic link for easier access.
Load Average
A measure of system workload representing processes waiting for CPU time.
Example: A load average of 4.0 on a 4-core system means all CPUs are fully utilized.
Locate Command
A fast file search command that uses a pre-built database.
Example: locate config.txt quickly finds all files named config.txt on the system.
Log Files
Text files that record events, errors, and activities for troubleshooting.
Example: /var/log/syslog contains general system messages and events.
Login Shell
A shell session started when a user logs into the system.
Example: Login shells read different configuration files than non-login shells.
Ls Command
A command that lists files and directories in the current or specified directory.
Example: ls shows files; ls -la shows detailed information including hidden files.
Ls Options
Flags that modify how the ls command displays file listings.
Example: -l shows long format; -a shows hidden files; -h shows human-readable sizes.
Lsblk Command
A command that lists information about block devices like disks and partitions.
Example: lsblk shows a tree view of all disks and their partitions.
MAC Address
Media Access Control address, a unique hardware identifier for network interfaces.
Example: A MAC address like 00:1A:2B:3C:4D:5E identifies a specific network card.
Man Pages
Manual pages providing documentation for Linux commands and programs.
Example: man grep displays detailed documentation for the grep command.
Media Server
A system that stores and streams media content to other devices.
Example: Plex and Jellyfin turn a Raspberry Pi into a media server for your home.
Memory Usage
The amount of RAM currently being used by the system and applications.
Example: Running free -h shows how much memory is used and available.
Microservices
An architectural style where applications are composed of small, independent services.
Example: A web application might have separate microservices for user authentication, payments, and notifications.
Minecraft Server
A server running Minecraft game software that allows players to connect and play together.
Example: A Raspberry Pi can host a Minecraft server for a small number of players.
Mkdir Command
A command that creates new directories.
Example: mkdir projects creates a new folder named "projects."
Monitoring Dashboard
A visual interface displaying real-time system metrics and status.
Example: Grafana dashboards can show CPU, memory, and disk usage graphs.
More Command
A basic pager program for viewing file contents one screen at a time.
Example: more longfile.txt shows content page by page (press space to continue).
Motion Detection
Identifying movement using cameras or sensors.
Example: Motion detection can trigger recording or send alerts when movement is detected.
Motion Sensor
An electronic component that detects movement in its field of view.
Example: PIR (Passive Infrared) sensors detect human movement for security systems.
Motor Control
Regulating the speed and direction of electric motors using electronic signals.
Example: PWM signals control motor speed; H-bridge circuits control direction.
Motor Drivers
Electronic circuits that provide sufficient current to run motors from GPIO signals.
Example: An L298N motor driver can power two DC motors from a Raspberry Pi.
Mount Command
A command that attaches a file system to a directory for access.
Example: sudo mount /dev/sdb1 /mnt/usb makes the USB drive accessible at /mnt/usb.
MQTT Protocol
Message Queuing Telemetry Transport, a lightweight messaging protocol for IoT devices.
Example: MQTT lets sensors publish readings that other devices can subscribe to.
Multiple Displays
Connecting and using more than one monitor with a computer.
Example: The Raspberry Pi 4 can drive two monitors simultaneously.
Mv Command
A command that moves or renames files and directories.
Example: mv old.txt new.txt renames a file; mv file.txt /backup/ moves it.
Nano Commands
Keyboard shortcuts used within the nano text editor.
Example: Ctrl+O saves the file; Ctrl+X exits nano.
Nano Editor
A simple, user-friendly command-line text editor.
Example: nano script.sh opens or creates script.sh for editing.
Nano Shortcuts
Quick key combinations displayed at the bottom of the nano screen.
Example: The ^ symbol means Ctrl, so ^X means press Ctrl+X to exit.
NAS Server
Network Attached Storage, a dedicated file server for storing and sharing files.
Example: A Raspberry Pi with an external drive can serve as a simple NAS.
NeoPixel LEDs
Addressable RGB LEDs that can display millions of colors individually.
Example: Each NeoPixel in a strip can be set to a different color for animations.
Neofetch
A command-line tool that displays system information alongside ASCII art.
Example: Running neofetch shows your distro logo with hardware and software details.
Netstat Command
A command that displays network connections, routing tables, and interface statistics.
Example: netstat -tulpn shows listening ports and the programs using them.
Network Administrator
A professional responsible for maintaining and securing computer networks.
Network administrators configure routers, firewalls, and manage network services.
Network Basics
Fundamental concepts of computer networking including IP addresses and protocols.
Example: Understanding how data flows between computers through routers and switches.
Network Interfaces
Hardware or software components that connect a computer to a network.
Example: eth0 is typically the ethernet interface; wlan0 is WiFi.
Network Ports
Numbered endpoints for network communications associated with specific services.
Example: Web servers typically listen on port 80 (HTTP) or 443 (HTTPS).
Network Storage
Storage accessible over a network rather than directly attached to a computer.
Example: NAS devices provide network storage accessible from any computer on the network.
Network Troubleshooting
The process of diagnosing and resolving network connectivity problems.
Example: Using ping, traceroute, and netstat to identify where connections fail.
Nginx Server
A high-performance web server and reverse proxy.
Example: Nginx can serve static websites and forward requests to application servers.
Nice Command
A command that starts a process with a modified scheduling priority.
Example: nice -n 19 ./slow_task.sh runs the task at the lowest priority.
Node-RED
A visual programming tool for wiring together IoT devices and services.
Example: Node-RED lets you create automation flows by connecting nodes graphically.
Nohup Command
A command that runs programs immune to hangup signals, continuing after logout.
Example: nohup ./server.sh & keeps the server running after you close the terminal.
Non-Interactive Shell
A shell that runs scripts without user input.
Example: Cron jobs and automated scripts run in non-interactive shells.
NTFS Support
The ability to read and write Windows NTFS file systems on Linux.
Example: Installing ntfs-3g allows Linux to access NTFS-formatted drives.
Numeric Permissions
File permissions expressed as numbers (e.g., 755, 644).
Example: 755 means owner can read/write/execute, group and others can read/execute.
Open Source
Software whose source code is freely available for viewing, modification, and distribution.
Example: Linux is open source, allowing anyone to examine and improve the code.
Operating System
Software that manages hardware resources and provides services for applications.
Example: Linux, Windows, and macOS are operating systems that run on computers.
Opt Directory
The /opt directory for installing optional, add-on software packages.
Example: Third-party applications like Google Chrome often install to /opt.
Other Permissions
File access rights that apply to all users who are not the owner or group members.
Example: "Other" permissions of r-- allow anyone to read the file.
Output Redirection
Sending command output to a file instead of the screen.
Example: ls > filelist.txt saves the directory listing to a file.
Owner Permissions
File access rights that apply only to the file's owner.
Example: Owner permissions of rwx allow the owner full access to the file.
Package Dependencies
Other packages required for a software package to function properly.
Example: Installing a graphics program might require library packages it depends on.
Package Manager
A tool that automates installing, updating, and removing software.
Example: apt on Debian/Ubuntu, dnf on Fedora, and brew on macOS are package managers.
Package Repositories
Online storage locations containing software packages for download.
Example: Ubuntu's main repository contains thousands of packages maintained by the project.
Parent Directory
The directory one level above the current directory, represented by ...
Example: cd .. moves up to the parent directory.
Parent Process
The process that created another process through system calls.
Example: The shell is the parent process of commands you run.
Passwd Command
A command that changes user passwords.
Example: Running passwd prompts you to enter a new password for your account.
Password Management
Administrative tasks for setting, changing, and enforcing password policies.
Example: Password management includes setting expiration dates and complexity requirements.
Password Security
Practices that protect passwords from being guessed or stolen.
Example: Using long, unique passwords and a password manager improves security.
Paste Command
A command that merges lines of files horizontally.
Example: paste file1.txt file2.txt creates columns from each file's lines.
PATH Variable
An environment variable listing directories where the shell searches for commands.
Example: If /usr/local/bin is in PATH, commands there can run without full paths.
Pathnames
The names specifying the location of files in the directory hierarchy.
Example: /home/pi/Documents/report.txt is a pathname identifying a specific file.
Performance Tuning
Adjusting system settings to improve speed and efficiency.
Example: Tuning might involve adjusting swap usage, file system parameters, or kernel settings.
Permission Notation
The symbolic representation of file permissions using letters like rwx.
Example: -rwxr-xr-x means: regular file, owner rwx, group r-x, others r-x.
Pgrep Command
A command that finds process IDs by matching names or attributes.
Example: pgrep firefox returns the process IDs of all Firefox processes.
Pi Bluetooth
Wireless Bluetooth connectivity built into Raspberry Pi models.
Example: Pi Bluetooth can connect to wireless keyboards, mice, and speakers.
Pi Camera Module
A camera accessory designed to connect directly to the Raspberry Pi.
Example: The Pi Camera can capture photos and video for surveillance or timelapse projects.
Pi Desktop
The graphical user interface environment on Raspberry Pi OS.
Example: The Pi desktop includes a file manager, web browser, and application menu.
Pi Ethernet Port
The RJ-45 network jack for wired network connections on Raspberry Pi.
Example: Connecting ethernet provides faster, more reliable networking than WiFi.
Pi First Boot
The initial startup process when a Raspberry Pi runs for the first time.
Example: First boot typically expands the filesystem and prompts for configuration.
Pi GPIO Header
The 40-pin connector on Raspberry Pi for connecting electronic components.
Example: The GPIO header provides power, ground, and 26 programmable pins.
Pi HDMI Ports
Video output connectors on Raspberry Pi for connecting displays.
Example: Pi 4 has two micro-HDMI ports; Pi 5 has two full-size HDMI ports.
Pi Imager
The official Raspberry Pi tool for writing operating system images to SD cards.
Example: Pi Imager downloads and installs Raspberry Pi OS with a few clicks.
Pi Terminal
The command-line interface application on Raspberry Pi OS.
Example: Opening the Pi Terminal gives you access to the bash shell.
Pi USB Ports
USB connectors on Raspberry Pi for keyboards, drives, and peripherals.
Example: Pi 4 has two USB 2.0 and two USB 3.0 ports for faster data transfer.
Pi WiFi
Built-in wireless networking capability on Raspberry Pi.
Example: Pi WiFi supports 2.4GHz and 5GHz networks on Pi 4 and newer.
Pi-Hole Ad Blocker
A network-wide ad blocker that works as a DNS server.
Example: Pi-Hole blocks ads on all devices on your network without installing software on each.
Ping Command
A command that tests network connectivity by sending packets to a host.
Example: ping google.com checks if you can reach Google's servers.
Pip Package Manager
Python's package installer for adding libraries and tools.
Example: pip install requests installs the popular HTTP library for Python.
Pipeline Commands
Multiple commands connected so each command's output becomes the next command's input.
Example: cat file.txt | sort | uniq reads, sorts, and removes duplicates.
Pipe Operator
The | symbol that connects the output of one command to the input of another.
Example: ls | wc -l counts the number of files by piping ls output to wc.
Pkill Command
A command that terminates processes by matching name or pattern.
Example: pkill -f "python script.py" kills processes matching that command line.
Plex Server
A media server application for organizing and streaming personal media collections.
Example: Plex can stream your movies and music to TVs, phones, and tablets.
Port Security
Practices for securing network ports against unauthorized access.
Example: Closing unused ports and using firewalls improves port security.
Portfolio Project
A personal project demonstrating skills for educational or job applications.
Example: A home server project with documentation makes a great portfolio piece.
POSIX Standards
Portable Operating System Interface, standards for UNIX-compatible systems.
POSIX defines common APIs, command utilities, and shell features across UNIX-like systems.
PPA Repositories
Personal Package Archives, additional Ubuntu repositories maintained by individuals.
Example: Adding a PPA provides access to newer software versions not in official repos.
Primary Group
The main group associated with a user, assigned to files they create.
Example: A user's primary group is specified in /etc/passwd.
Printf Command
A command that formats and prints text with more control than echo.
Example: printf "Name: %s\nAge: %d\n" "Alice" 25 produces formatted output.
Print Debugging
Troubleshooting programs by adding print statements to show values.
Example: Adding print(f"x = {x}") in Python helps trace program execution.
Proc Directory
The /proc directory containing virtual files representing system and process information.
Example: /proc/cpuinfo shows CPU details; /proc/meminfo shows memory info.
Process ID
A unique number assigned to each running process by the operating system.
Example: Each process has a PID that can be used with kill and other commands.
Process Priority
The relative importance of a process for CPU scheduling.
Example: Lower nice values mean higher priority; higher values mean lower priority.
Process States
The conditions a process can be in: running, sleeping, stopped, or zombie.
Example: A sleeping process is waiting for an event; a zombie has finished but wasn't cleaned up.
Processes
Running instances of programs executing on the system.
Example: Each open application and background service is a separate process.
Profile File
A shell configuration file (~/.profile) executed for login shells.
Example: Environment variables needed for all sessions are often set in the profile file.
Ps Command
A command that displays information about currently running processes.
Example: ps aux shows all processes with detailed information.
Ps Options
Flags that modify what information ps displays about processes.
Example: ps -ef shows full format; ps aux shows BSD-style comprehensive output.
PS1 Variable
The environment variable that defines the shell prompt appearance.
Example: Setting PS1 can add colors, the current directory, and git branch to your prompt.
PulseAudio
A sound server that manages audio streams between applications and hardware.
Example: PulseAudio lets you control per-application volume and audio routing.
Pwd Command
Print Working Directory, a command that displays the current directory path.
Example: Running pwd might output /home/pi/projects showing where you are.
PWM Signals
Pulse Width Modulation, a technique for controlling power by varying pulse duration.
Example: PWM controls LED brightness and motor speed by adjusting the duty cycle.
Python on Linux
Running Python programming language on Linux operating systems.
Example: Python is pre-installed on most Linux distributions and works well with Linux.
Python3 Command
The command to run Python version 3 programs.
Example: python3 script.py executes a Python 3 script.
Question Mark Wildcard
The ? character that matches exactly one character in filename patterns.
Example: ls file?.txt matches file1.txt but not file12.txt.
Raspi-Config
A configuration tool for Raspberry Pi system settings.
Example: raspi-config lets you enable SSH, change locale, and expand the filesystem.
Raspberry Pi
A small, affordable single-board computer designed for learning and projects.
Raspberry Pi runs Linux and is used for education, IoT, and maker projects worldwide.
Raspberry Pi 4
A Raspberry Pi model with 4 cores, USB 3.0, and up to 8GB RAM.
Example: The Pi 4 is powerful enough for desktop use and light server workloads.
Raspberry Pi 5
The 2023 Raspberry Pi model with significantly improved CPU and I/O performance.
Example: Pi 5 is 2-3 times faster than Pi 4 and supports PCIe devices.
Raspberry Pi 500
A Raspberry Pi integrated into a keyboard form factor.
Example: The Pi 500 is a complete computer—just add a monitor and mouse.
Raspberry Pi Models
The different versions of Raspberry Pi computers with varying capabilities.
Example: Models range from the tiny Pi Zero to the powerful Pi 5.
Raspberry Pi OS
The official operating system for Raspberry Pi, based on Debian Linux.
Example: Raspberry Pi OS comes with pre-installed software for programming and learning.
Raspberry Pi Zero
A compact, low-cost Raspberry Pi for simple projects.
Example: The Pi Zero is perfect for embedded projects where size and power matter.
Read Permission
A file permission that allows viewing file contents or listing directory contents.
Example: A file with read permission (r) can be opened and viewed.
Reboot Command
A command that restarts the operating system.
Example: sudo reboot immediately restarts the system.
Recursive Search
Searching through directories and all their subdirectories.
Example: grep -r "pattern" . searches all files in the current directory and below.
Redirection
Controlling where command input comes from and output goes to.
Example: > redirects output to a file; < takes input from a file.
Regex Anchors
Special characters that match positions rather than characters.
Example: ^ matches the start of a line; $ matches the end.
Regex Character Classes
Predefined groups of characters like \d for digits or \w for word characters.
Example: [0-9] matches any digit; [a-zA-Z] matches any letter.
Regex Metacharacters
Characters with special meanings in regular expressions.
Example: . matches any character; * means zero or more of the previous.
Regex Quantifiers
Symbols specifying how many times a pattern element should match.
Example: + means one or more; ? means zero or one; {3} means exactly three.
Regular Expressions
Patterns used to match sequences of characters in text.
Example: The pattern [0-9]{3}-[0-9]{4} matches phone numbers like 555-1234.
Relative Path
A file path specified relative to the current working directory.
Example: ../Documents/file.txt is a relative path going up one directory.
Remote Access
Connecting to a computer over a network as if you were physically present.
Example: SSH provides secure remote access to Linux systems.
Removing Aliases
Deleting previously defined command shortcuts.
Example: unalias ll removes the ll alias so it no longer works.
Renice Command
A command that changes the priority of a running process.
Example: renice -n 5 -p 1234 lowers the priority of process 1234.
Repository Sources
Configuration files listing where package managers find software.
Example: The /etc/apt/sources.list file lists APT repositories.
RetroPie
A software package for turning Raspberry Pi into a retro gaming console.
Example: RetroPie can play games from classic consoles like NES, SNES, and Genesis.
Retro Gaming
Playing video games from older gaming platforms using emulators.
Example: A Raspberry Pi running RetroPie emulates classic game consoles.
Rev Command
A command that reverses each line of text character by character.
Example: echo "hello" | rev outputs "olleh".
Richard Stallman
Founder of the GNU Project and Free Software Foundation.
Richard Stallman's work on GNU tools like gcc and bash is essential to Linux systems.
Rm Command
A command that removes (deletes) files and directories.
Example: rm oldfile.txt permanently deletes the file.
Rm Recursive
The rm command with -r flag to delete directories and their contents.
Example: rm -r oldfolder deletes the folder and everything inside it.
Rmdir Command
A command that removes empty directories.
Example: rmdir emptyfolder works only if the folder contains no files.
Root Directory
The top-level directory of the file system, represented by /.
Example: All other directories are subdirectories under the root directory.
Root User
The administrative superuser account with unrestricted system access.
Example: The root user can modify any file and run any command.
Rsync Command
A command for efficiently copying and synchronizing files locally or remotely.
Example: rsync -av source/ destination/ copies files, keeping only what changed.
Sar Command
System Activity Reporter, a command for collecting and reporting system statistics.
Example: sar -u 1 10 reports CPU usage every second for 10 seconds.
SCP Command
Secure Copy Protocol, a command for copying files over SSH.
Example: scp file.txt user@remote:/path/ copies a file to a remote server.
Screen Command
A terminal multiplexer allowing multiple sessions in one terminal.
Example: screen lets you run programs that continue after you disconnect.
Script Arguments
Values passed to shell scripts when they are executed.
Example: In ./script.sh file.txt, "file.txt" is an argument accessed as $1.
Script Exit Codes
Numeric values returned by scripts indicating success or failure.
Example: Exit code 0 means success; non-zero values indicate errors.
Script Permissions
Execute permissions required to run shell scripts directly.
Example: chmod +x script.sh makes the script executable.
Script Shebang
The #! line at the start of a script specifying the interpreter.
Example: #!/bin/bash tells the system to use bash to run the script.
Script Variables
Named values used within shell scripts to store data.
Example: name="Alice" creates a variable; $name retrieves its value.
SD Card Setup
Preparing a microSD card with an operating system for Raspberry Pi.
Example: Using Pi Imager to write Raspberry Pi OS to an SD card.
Search Optimization
Techniques for making file searches faster and more effective.
Example: Using locate instead of find for filename searches is much faster.
Secondary Groups
Additional groups a user belongs to beyond their primary group.
Example: Adding a user to the sudo group grants administrative privileges.
Secure File Transfer
Copying files between systems using encrypted connections.
Example: SCP and SFTP provide secure file transfer over SSH.
Security Best Practices
Recommended approaches for maintaining system security.
Example: Best practices include regular updates, strong passwords, and minimal permissions.
Security Cameras
Cameras connected to a system for surveillance and monitoring.
Example: A Raspberry Pi with a camera can serve as a security camera.
Security Updates
Software patches that fix vulnerabilities and security issues.
Example: Running apt upgrade regularly keeps security updates installed.
Sed Command
Stream Editor, a command for performing text transformations on input.
Example: sed 's/old/new/g' file.txt replaces all occurrences of "old" with "new".
Sed Substitution
Using sed to find and replace text patterns.
Example: sed 's/error/ERROR/g' replaces "error" with "ERROR" globally.
Sensor Reading
Collecting data from electronic sensors connected to GPIO pins.
Example: Reading a temperature sensor returns the current temperature value.
Service Start Stop
Controlling whether system services are running.
Example: sudo systemctl stop nginx stops the nginx web server.
Service Status
The current state of a system service (running, stopped, failed).
Example: systemctl status ssh shows whether the SSH server is running.
Servo Motors
Motors that rotate to specific angles based on control signals.
Example: Servos are used in robotic arms and camera gimbals.
Setgid Bit
A special permission that makes files inherit the directory's group.
Example: Files created in a setgid directory belong to the directory's group.
Setuid Bit
A special permission that runs a program with the owner's privileges.
Example: The passwd command uses setuid to modify the password file.
Shell
A command interpreter that provides the user interface to the operating system.
Example: Bash and Zsh are popular shells for interactive Linux use.
Shell Configuration
Files that customize shell behavior, appearance, and available commands.
Example: ~/.bashrc configures the bash shell with aliases and prompt settings.
Shell Functions
Reusable blocks of code defined in the shell configuration.
Example: A function backup() { tar -czf "$1.tar.gz" "$1"; } creates backups.
Shell Prompt
The text displayed by the shell indicating it's ready for input.
Example: A common prompt like user@host:~$ shows username, hostname, and directory.
Shell Scripts
Text files containing sequences of shell commands to be executed together.
Example: A shell script can automate installing software and configuring settings.
Shell Startup Order
The sequence in which shell configuration files are loaded.
Example: For login shells, /etc/profile runs first, then ~/.bash_profile.
SHELL Variable
An environment variable containing the path to the current user's default shell.
Example: echo $SHELL might output /bin/bash.
Shutdown Command
A command that powers off or restarts the system.
Example: sudo shutdown now immediately powers off the computer.
Sl Command
A joke command that displays a steam locomotive when you mistype ls.
Example: Installing and running sl shows an ASCII train crossing your screen.
Smart Home Hub
A central device that connects and controls smart home devices.
Example: Home Assistant on a Raspberry Pi can serve as a smart home hub.
Snap Packages
Self-contained software packages that include all dependencies.
Example: snap install vlc installs VLC with all its requirements bundled.
Software Packages
Bundled software files prepared for installation by a package manager.
Example: A package contains the program, documentation, and installation scripts.
Software Updates
Newer versions of installed software with improvements and fixes.
Example: Regular updates ensure you have the latest features and security patches.
Sort Command
A command that arranges lines of text in alphabetical or numerical order.
Example: sort names.txt outputs names in alphabetical order.
Sound Testing
Verifying that audio playback and recording work correctly.
Example: aplay /usr/share/sounds/alsa/Front_Center.wav tests speaker output.
Source Command
A shell command that executes a script in the current shell environment.
Example: source ~/.bashrc applies bashrc changes without opening a new terminal.
Special Permissions
Extended permission bits (setuid, setgid, sticky) beyond basic rwx.
Example: The sticky bit on /tmp prevents users from deleting others' files.
Ss Command
Socket Statistics, a command for displaying network connections.
Example: ss -tulpn shows listening TCP and UDP ports.
SSH Command
The command for connecting to remote systems securely.
Example: ssh pi@192.168.1.100 connects to a Raspberry Pi on your network.
SSH Config
The ~/.ssh/config file for storing SSH connection settings.
Example: SSH config lets you define shortcuts like ssh mypi instead of typing full details.
SSH Keys
Cryptographic key pairs used for passwordless SSH authentication.
Example: SSH keys are more secure than passwords and don't need to be typed.
SSH Protocol
A network protocol providing encrypted remote login and file transfer.
Example: SSH encrypts all data transmitted between client and server.
SSH Security
Practices for securing SSH access against unauthorized connections.
Example: SSH security includes using keys, disabling root login, and changing ports.
SSH to Cloud
Connecting to cloud-based Linux instances using SSH.
Example: ssh -i key.pem ubuntu@ec2-instance.amazonaws.com connects to AWS.
Standard Error
A separate output stream for error messages, distinct from normal output.
Example: Error messages go to stderr so they can be separated from regular output.
Standard Input
The default source of input for commands, typically the keyboard.
Example: sort without arguments reads lines from standard input.
Standard Output
The default destination for command output, typically the terminal screen.
Example: echo "hello" sends text to standard output.
Stat Command
A command that displays detailed file or filesystem information.
Example: stat file.txt shows size, permissions, timestamps, and inode number.
Stepper Motors
Motors that move in precise incremental steps for accurate positioning.
Example: Stepper motors are used in 3D printers and CNC machines.
Sticky Bit
A special permission that prevents users from deleting files they don't own.
Example: The /tmp directory uses the sticky bit so users can't delete others' temp files.
Storage Devices
Hardware components that permanently store data like drives and flash memory.
Example: SSDs, HDDs, and USB drives are common storage devices.
Su Command
Switch User, a command to change to another user account.
Example: su - root switches to the root user with root's environment.
Sudo Command
Execute a command with superuser (root) privileges.
Example: sudo apt update runs apt with administrator permissions.
Swap File
A file on the filesystem used as virtual memory when RAM is full.
Example: A swap file can be created with fallocate and activated with swapon.
Swap Partition
A dedicated disk partition used for virtual memory.
Example: Swap partitions are defined during installation and appear in /etc/fstab.
Swap Space
Disk space used as virtual memory when physical RAM is exhausted.
Example: Swap space allows the system to run more programs than RAM alone allows.
Symbolic Links
File references that point to another file by pathname, like shortcuts.
Example: ln -s /long/path/file shortcut creates a shortcut to the file.
Systemctl Command
The command for controlling systemd services.
Example: systemctl status nginx shows whether nginx is running.
Systemd Timers
Scheduled tasks managed by systemd as an alternative to cron.
Example: Systemd timers can trigger service units on a schedule.
System Administration
Managing and maintaining computer systems, including users, security, and services.
System administrators keep servers running, handle backups, and troubleshoot problems.
System Administrator
A professional responsible for maintaining and managing computer systems.
System administrators handle user accounts, security, backups, and system health.
System Load
A measure of the computational work the system is performing.
Example: High system load indicates the CPU has many processes waiting to run.
System Monitoring
Tracking the health, performance, and status of computer systems.
Example: Monitoring tools alert administrators when disk space runs low.
System Services
Background programs that provide system functionality.
Example: SSH, cron, and nginx are system services that start at boot.
Tab Completion
Pressing Tab to automatically complete file names and commands.
Example: Typing cat read and pressing Tab completes to cat readme.txt.
Tail Command
A command that displays the last few lines of a file.
Example: tail -f /var/log/syslog shows new log entries in real-time.
Tar Command
A command that creates and extracts archive files.
Example: tar -cvf archive.tar folder/ creates an archive of the folder.
Tar Create
Using tar to combine files into an archive.
Example: tar -cvf backup.tar /home/user creates a backup archive.
Tar Extract
Using tar to unpack files from an archive.
Example: tar -xvf archive.tar extracts all files from the archive.
Tar Options
Flags that control tar's behavior for creating and extracting archives.
Example: -c creates, -x extracts, -v is verbose, -f specifies the filename.
Tee Command
A command that reads from input and writes to both a file and output.
Example: ls | tee listing.txt shows the listing and saves it to a file.
Temperature Logging
Recording temperature measurements over time.
Example: A Pi with a temperature sensor can log readings hourly to a file.
Temperature Sensor
An electronic component that measures ambient or object temperature.
Example: The DS18B20 is a popular digital temperature sensor for Pi projects.
Terminal Colors
ANSI escape sequences that add color to terminal text.
Example: Setting text to red: echo -e "\e[31mError\e[0m".
Terminal Customization
Modifying the appearance and behavior of the terminal.
Example: Customizations include changing the prompt, colors, and fonts.
Terminal Emulator
A program that provides a text-based interface to the shell.
Example: GNOME Terminal, Konsole, and iTerm2 are terminal emulators.
Terraform Basics
Fundamental concepts of the Terraform infrastructure-as-code tool.
Example: Terraform uses configuration files to define and provision cloud resources.
Terraform Providers
Plugins that enable Terraform to interact with specific cloud platforms.
Example: The AWS provider lets Terraform create and manage AWS resources.
Terraform Resources
Infrastructure components defined and managed by Terraform.
Example: An EC2 instance or S3 bucket defined in Terraform is a resource.
Text Editors
Programs for creating and modifying text files.
Example: Vim, nano, and VSCode are text editors with different features.
Text Streams
Continuous flows of text data passed between commands.
Example: Piping connects text streams, sending output from one command to another.
Thonny IDE
A beginner-friendly Python development environment.
Example: Thonny is included with Raspberry Pi OS for learning Python.
Tilde Expansion
The shell feature that expands ~ to the home directory path.
Example: cd ~/Documents is equivalent to cd /home/pi/Documents.
Time Series Data
Data points collected and stored with timestamps.
Example: Temperature readings taken every minute form time series data.
Tmp Directory
The /tmp directory for temporary files that may be deleted on reboot.
Example: Programs store temporary data in /tmp during execution.
Tmux Multiplexer
A terminal multiplexer allowing multiple terminal sessions in one window.
Example: tmux lets you split the screen into panes and switch between sessions.
Top Command
A command that displays real-time information about running processes.
Example: top shows a continuously updating list of processes sorted by CPU usage.
Touch Command
A command that creates empty files or updates file timestamps.
Example: touch newfile.txt creates an empty file if it doesn't exist.
Tr Command
A command that translates or deletes characters from input.
Example: tr 'a-z' 'A-Z' converts lowercase letters to uppercase.
Traceroute Command
A command that shows the network path packets take to reach a destination.
Example: traceroute google.com displays each router hop along the way.
Tree Command
A command that displays directory contents in a tree-like format.
Example: tree -L 2 shows two levels of subdirectories as a tree.
Type Command
A command that shows how the shell interprets a command name.
Example: type ls reveals whether ls is an alias, function, or external command.
Ubuntu
A popular Linux distribution based on Debian, known for ease of use.
Ubuntu is widely used on desktops, servers, and cloud platforms.
UFW Firewall
Uncomplicated Firewall, a user-friendly interface for managing firewall rules.
Example: sudo ufw allow ssh permits SSH connections through the firewall.
Umask Command
A command that sets the default permission mask for new files.
Example: umask 022 means new files won't have write permission for group/others.
Umount Command
A command that detaches mounted file systems.
Example: sudo umount /mnt/usb safely disconnects a USB drive.
Uname Command
A command that displays system information like kernel version.
Example: uname -a shows kernel version, hostname, and architecture.
Uniq Command
A command that filters out adjacent duplicate lines.
Example: sort file.txt | uniq shows unique lines after sorting.
UNIX History
The development of UNIX from 1969 at Bell Labs through its various derivatives.
UNIX influenced virtually all modern operating systems, including Linux, macOS, and Android.
UNIX Philosophy
Design principles emphasizing simple, modular programs that do one thing well.
Example: Commands like cat, grep, and sort each do one thing and can be combined with pipes.
UNIX System V
A major commercial UNIX variant developed by AT&T in the 1980s.
System V introduced features like init scripts that influenced later UNIX systems.
Unzip Command
A command that extracts files from ZIP archives.
Example: unzip archive.zip extracts all files from the archive.
Updatedb Command
A command that updates the file database used by locate.
Example: Running sudo updatedb refreshes the database so locate finds recent files.
Uptime Command
A command that shows how long the system has been running.
Example: uptime displays time since last boot, users logged in, and load average.
USB Audio
Sound input/output through USB-connected audio devices.
Example: USB headsets and DACs provide audio through USB ports.
USB Drives
Portable storage devices that connect through USB ports.
Example: USB drives are used for file transfer and bootable Linux installers.
User Accounts
Records identifying users with permissions to access the system.
Example: Each user account has a username, password, home directory, and group memberships.
User Authentication
The process of verifying user identity through passwords or keys.
Example: SSH key authentication verifies identity without transmitting passwords.
User Groups
Collections of users for managing shared file access and permissions.
Example: All developers might belong to a "developers" group for project access.
User Management
Administrative tasks for creating, modifying, and deleting user accounts.
Example: User management includes adding new employees and removing former ones.
Useradd Command
A command that creates new user accounts.
Example: sudo useradd -m newuser creates a user with a home directory.
Userdel Command
A command that removes user accounts from the system.
Example: sudo userdel -r olduser removes the user and their home directory.
Usermod Command
A command that modifies existing user accounts.
Example: sudo usermod -aG sudo user adds a user to the sudo group.
USER Variable
An environment variable containing the current user's username.
Example: echo $USER outputs your username.
Usr Directory
The /usr directory containing user programs, libraries, and documentation.
Example: Most installed programs are in /usr/bin; libraries are in /usr/lib.
Var Directory
The /var directory for variable data like logs and mail.
Example: System logs are stored in /var/log; websites often go in /var/www.
Venv Module
Python's built-in module for creating virtual environments.
Example: python3 -m venv myenv creates an isolated Python environment.
Version Control
Systems for tracking changes to files over time.
Example: Git is the most popular version control system for source code.
Version Information
Data about software versions installed on the system.
Example: python3 --version or git --version shows installed versions.
Vi Editor
A classic UNIX text editor with a modal interface.
Example: Vi is available on virtually every UNIX and Linux system.
Vim Command Mode
The Vim mode for executing commands like save, quit, and search.
Example: Press Escape to enter command mode; type :wq to save and quit.
Vim Editor
Vi Improved, an enhanced version of vi with additional features.
Example: Vim adds syntax highlighting, plugins, and multiple undo levels.
Vim Insert Mode
The Vim mode for typing and editing text.
Example: Press i to enter insert mode and start typing text.
Vim Modes
The different operational states of the Vim editor.
Example: Normal mode navigates; Insert mode types; Visual mode selects.
Vim Navigation
Moving through files in Vim using keyboard commands.
Example: h, j, k, l move left, down, up, right; gg goes to start.
Vim Save and Quit
Commands for saving files and exiting Vim.
Example: :w saves; :q quits; :wq saves and quits; :q! quits without saving.
Vim Search Replace
Finding and replacing text in Vim.
Example: :%s/old/new/g replaces all occurrences of "old" with "new".
Vim Visual Mode
The Vim mode for selecting blocks of text.
Example: Press v for character selection, V for line selection.
Vimrc Configuration
The ~/.vimrc file for customizing Vim behavior.
Example: Adding set number to .vimrc shows line numbers in Vim.
Virtual Environments
Isolated Python environments with their own packages.
Example: Virtual environments prevent conflicts between project dependencies.
Virtual Machines
Software emulations of physical computers running their own operating systems.
Example: VirtualBox can run Ubuntu inside Windows using virtual machines.
Vmstat Command
A command that reports virtual memory statistics.
Example: vmstat 1 shows memory, swap, and CPU stats every second.
Voice Control
Controlling devices through spoken commands.
Example: Integration with Alexa or Google Assistant enables voice control.
Volume Control
Adjusting audio output levels.
Example: amixer set Master 50% sets volume to half maximum.
VPN Server
A server that provides encrypted tunnel connections for network privacy.
Example: WireGuard on a Raspberry Pi can serve as a personal VPN server.
Vulnerability Scanning
Automated checking for security weaknesses in systems.
Example: Tools like nmap can scan for open ports and potential vulnerabilities.
Wc Command
Word Count, a command that counts lines, words, and characters.
Example: wc -l file.txt counts the number of lines in the file.
Web Dashboard
A browser-based interface for monitoring and controlling systems.
Example: Node-RED provides a web dashboard for IoT device control.
Web Server Setup
Configuring software to serve web pages over HTTP.
Example: Installing and configuring nginx or Apache to host a website.
Wget Command
A command for downloading files from the web.
Example: wget https://example.com/file.zip downloads the file.
Whatis Command
A command that displays one-line descriptions of commands.
Example: whatis grep outputs "grep (1) - print lines that match patterns".
Whereis Command
A command that locates binary, source, and manual files for commands.
Example: whereis python shows locations of Python binaries and docs.
Which Command
A command that shows the full path of a command.
Example: which python3 might output /usr/bin/python3.
Whoami Command
A command that displays the current username.
Example: Running whoami outputs your username.
WiFi Configuration
Settings for connecting to wireless networks.
Example: WiFi configuration includes selecting networks and entering passwords.
Wildcards
Special characters that match multiple files in commands.
Example: * matches any characters; ? matches exactly one character.
WireGuard VPN
A modern VPN protocol known for simplicity and high performance.
Example: WireGuard provides fast, secure VPN connections with minimal configuration.
Write Permission
A file permission allowing modification of file contents.
Example: Without write permission (w), you cannot edit or delete the file.
Xargs Command
A command that builds and executes commands from standard input.
Example: find . -name "*.tmp" | xargs rm deletes all .tmp files found.
Xz Command
A compression utility using the LZMA algorithm for high compression ratios.
Example: xz largefile.txt creates a smaller largefile.txt.xz.
Zip Command
A command for creating ZIP archives compatible with Windows.
Example: zip archive.zip file1.txt file2.txt creates a ZIP file.
Zombie Processes
Defunct processes that have completed but whose exit status hasn't been collected.
Example: Zombie processes are shown with status Z in ps output.
Zsh Shell
Z Shell, an extended bash-compatible shell with additional features.
Example: Zsh offers better tab completion, themes, and plugins.
Zshrc File
The configuration file for Zsh, similar to bashrc for bash.
Example: Adding aliases and prompt settings to ~/.zshrc customizes Zsh.