Public beta. We're in our soft launch: the lessons are ready, but things may still change, and your feedback shapes what comes next.

Glossary

The words you'll meet in the lessons, in plain English. Each one links to the lesson that teaches it.

A

Absolute path
A path that starts at the very top of the filesystem, with /, like /etc/ssh/sshd_config. It means the same thing wherever you are. Compare relative path. Learn more: Moving around: cd
AIDE
Advanced Intrusion Detection Environment: saves a fingerprint of important files while the server is healthy, then reports what was added, removed or changed. Learn more: Did anyone change anything?
Alias
A short name you make up for a longer command, like alias ll='ls -l'. Put it in ~/.bashrc to keep it. Learn more: Shell skills
AppArmor
Ubuntu's extra security layer: each program gets a profile listing the files and actions it may use, even when it runs as root. The RHEL family uses SELinux for the same job. Learn more: SELinux vs AppArmor
apt
The package manager on Ubuntu and Debian: sudo apt install nginx. It installs .deb packages from repositories. The RHEL family uses dnf. Learn more: Installing software: dnf vs apt
Archive
One file that holds many files and folders, like a .tar or .zip. It's often also compressed (.tar.gz). Learn more: Archives & compression, Backups: tar, rsync & cron
Argument
What a command works on, usually written after its options. In ls -l /home, /home is the argument. Learn more: Meet the terminal
ARP
How a machine finds the MAC address for an IP address on its own network: it asks everyone, the owner answers. See the results with ip neigh. Learn more: Packets & layers
Attack surface
Everything on a computer that someone could reach or abuse: listening services, accounts that can log in, admin rights, old software. Making it smaller is one of the best defences. Learn more: Think like an attacker

B

Bash
The shell you use on both Rocky and Ubuntu: the program that reads your commands and runs them. Also the language of most shell scripts. Learn more: Meet the terminal, Shell scripting: if, loops & functions
bind-address
The network address a service listens on. 127.0.0.1 means only the machine itself can connect; 0.0.0.0 means every network it's on. Learn more: Scan your own lab with nmap
Bisect
Git's binary search for the commit that broke something: mark a good and a bad commit, then test the halfway points until one is left. Learn more: Git: tags, releases & finding the bad commit
Branch
In Git, a separate line of work. You try an idea on a branch, then merge it back when it works. Learn more: Git: branches, merges & sharing
Brute force
Guessing a password by trying lots of them, usually with a program. It shows up in the login log as many Failed password lines. Keys-only SSH makes it useless. Learn more: Spot trouble in the logs, Lock down SSH

C

CDN
Content delivery network: caching servers all over the world that keep copies of a site's files close to visitors. HIT = answered from the copy, MISS = fetched from the origin. Learn more: Load balancers, proxies & CDNs
Certificate
A signed statement that a public key belongs to certain names (its SANs), valid between two dates, vouched for by an issuer (a CA). Learn more: TLS & certificates
Certificate authority (CA)
An organisation (or your own server) that signs certificates. Your computer trusts a short list of root CAs in its trust store. Learn more: TLS & certificates
Chain of trust
Site certificate → intermediate → root: each one signed by the next. If any link is missing or untrusted, the connection fails. Learn more: TLS & certificates
Checksum (hash)
A short fingerprint of a file's contents, like SHA-256. Change one letter and the whole fingerprint changes, so it shows whether a file is exactly the same. Learn more: Did anyone change anything?, Network & security tools
Cherry-pick
In Git, copying one commit from another branch onto the branch you're on. Learn more: Git: stash, cherry-pick & rebase
CIDR (prefix)
The /24 after an address: how many of its 32 bits name the network. /24 = 256 addresses, /26 = 64. Learn more: IP addresses & subnets
Cloud
Computers you rent from a provider like AWS instead of owning them. You start and stop servers with a few commands and pay for the time you use. Learn more: The cloud & AWS: getting started
Code review
A teammate reading your change before it's merged, to catch mistakes and share knowledge. They approve it or request changes. Learn more: Git: pull requests & code review
Command
The first word you type in the terminal: what to do. In ls -l /home, ls is the command. Learn more: Meet the terminal
Commit
In Git, a saved snapshot of your project with a message saying what changed. You can always go back to it. Learn more: Git: save points for your work
Compression
Making a file smaller by storing it more cleverly: gzip (.gz), xz (.xz), bzip2 (.bz2). Text shrinks a lot; photos and videos hardly at all. Learn more: Archives & compression
Container
An app packed together with everything it needs, running in its own sealed-off space on a Linux machine. Lighter than a virtual machine because it shares the host's kernel. Built from an image. Learn more: Containers: build & ship your own image, Alpine Linux: tiny Linux for containers
Continuous integration (CI)
Automatically testing every change as soon as it's pushed, so mistakes are caught in minutes instead of weeks. Learn more: CI pipelines: test every push
cron
The service that runs commands on a schedule: every night, every Monday at 9, every 5 minutes. Schedules live in a crontab. Learn more: Scheduling with cron

D

Daemon
A program that runs in the background without a window or terminal, like the web server or sshd. Names often end in d. See service. Learn more: Services & your first website
Debian family
Ubuntu, Debian, Linux Mint, Raspberry Pi OS and Kali: distros that use .deb packages and apt. One of the two big Linux families this site teaches. Learn more: What even is Linux?
Default gateway
The router a machine sends packets to when no more specific route matches: the default via … line in ip route. Learn more: Routing & NAT, Networking: ifconfig vs ip
Detached HEAD
In Git, being on a commit or tag instead of a branch. Fine for looking around; make a branch before committing there. Learn more: Git: tags, releases & finding the bad commit
Directory
Another word for a folder. pwd shows the one you're in; cd moves you to another. Learn more: Look around: pwd & ls, Moving around: cd
Distribution (distro)
A complete Linux operating system: the kernel plus the programs, package manager and settings around it. Rocky Linux and Ubuntu are distros. Learn more: What even is Linux?
dnf
The package manager on Rocky, AlmaLinux, RHEL and Fedora: sudo dnf install nginx. It installs .rpm packages. The Debian family uses apt. Learn more: Installing software: dnf vs apt
DNS
The internet's phone book: it turns names like example.com into IP addresses. Learn more: DNS: how names become addresses, Networking: ifconfig vs ip, Route 53: names for your cloud
DNS record
One piece of DNS data: A (IPv4 address), AAAA (IPv6), CNAME (another name for), MX (mail server), TXT (text), NS (who's in charge), PTR (address → name). Learn more: DNS: how names become addresses
Drop-in file
A small extra config file in a .d folder (like /etc/ssh/sshd_config.d/) that adds to or overrides the main file, so you never have to edit the original. Learn more: Lock down SSH, Limits: cgroups, systemd & the OOM killer

E

Environment variable
A named value that programs can read, like $HOME or $PATH. Set one with export NAME=value. Learn more: Shell skills, Secrets & config: the twelve-factor way
EPEL
Extra Packages for Enterprise Linux: a trusted extra repository for Rocky and RHEL with software that isn't in the default ones. Learn more: Installing software: dnf vs apt
etckeeper
A tool that keeps a server's /etc in git and commits what every package install changes, so config changes have a history. Learn more: Git on a server: tracking /etc
Exit code
The number a command leaves behind when it finishes: 0 means it worked, anything else means something went wrong. See it with echo $?. Learn more: Shell scripting: if, loops & functions, Capturing output

F

Filesystem
How files and folders are organised, starting at /. Also the format a disk is prepared with, like ext4 or XFS. Learn more: The filesystem tour, Disks & mounting
Fingerprint
A short code that identifies a server's SSH key. The first time you connect, you check it so you know you've reached the right machine. Learn more: Connecting with SSH
Firewall
Rules that decide which network traffic may reach a machine. firewalld (firewall-cmd) on Rocky, ufw on Ubuntu. Learn more: Services & your first website, Network & security tools
Fork
Your own copy of someone else's repository on GitHub, so you can push branches and open pull requests to their project. Learn more: Git: pull requests & code review

G

Git
A version control tool: it remembers every saved version of your files, so you can undo mistakes and work with other people. Learn more: Git: save points for your work
Group
A named set of users. Giving a group access to a folder gives it to everyone in the group. Learn more: Managing users & groups, Permissions: who can do what

H

Health check
A load balancer's regular "are you OK?" to each server. Fail it and the server gets no visitors until it recovers. Learn more: Load balancers, proxies & CDNs
Home directory
Your own folder, like /home/student. ~ is short for it, and cd on its own takes you there. Learn more: Moving around: cd
HTTP status code
The three-digit answer to a web request: 2xx worked, 3xx look elsewhere, 4xx your request is wrong, 5xx the server has a problem. Learn more: HTTP up close

I

Idempotent
Safe to run again and again: the second run changes nothing if everything is already right. Good automation, like an Ansible playbook, is idempotent. Learn more: Infrastructure as code: Ansible first steps, Testing & linting your automation
Image
A read-only template a container is started from: an operating system base plus your app. Built from a Containerfile or Dockerfile. Learn more: Containers: build & ship your own image
Incident response
What you do when something bad has happened: look and note first, then lock the door, remove what the intruder left, and close the hole they used. Learn more: Spot trouble in the logs
Instance
One virtual server in the cloud. On AWS, an EC2 instance. Learn more: EC2: launch a Linux server
IP address
A machine's number on a network, like 192.168.1.50. See yours with ip a. Learn more: Networking: ifconfig vs ip

J

Job
A command you started from your shell. You can pause it (Ctrl+Z), send it to the background (bg) and bring it back (fg). Learn more: Jobs: pause, background & bring back

K

Kernel
The core of the operating system: it talks to the hardware and shares it out between programs. Linux is, strictly speaking, the name of the kernel. Learn more: What even is Linux?

L

Least privilege
Give every user and program only the access it really needs, and nothing more. If it's ever misused, it can do less damage. Learn more: Think like an attacker, Root, sudo & su
Let's Encrypt
A free certificate authority. Its tool, certbot, gets a trusted HTTPS certificate for your domain and renews it automatically. Learn more: Web server hardening & HTTPS
Linux
A free, open-source operating system that runs most of the world's servers, phones (Android) and supercomputers. It comes in many distributions. Learn more: What even is Linux?
Load balancer
Sits in front of several servers and spreads visitors over them, skipping any that fail their health check. HAProxy, nginx and cloud load balancers do this. Learn more: Load balancers, proxies & CDNs, Load balancers: ELB and ALB
Log
A file (or journal) where programs write down what they did and what went wrong. The first place to look when something breaks. Learn more: Logs & troubleshooting

M

MAC address
The hardware address of a network card, like 08:00:27:4c:1a:7e. Only used on the local network; it changes at every hop. Learn more: Packets & layers
Mount
Attaching a disk or partition to a folder so its files appear there, like a new disk at /data. Permanent mounts go in /etc/fstab. Learn more: Disks & mounting
MTU
Maximum transmission unit: the biggest packet a link carries, usually 1500 bytes. Too small somewhere (VPNs, tunnels) and big transfers hang while small ones work. Learn more: Packets & layers

N

NAT
Network Address Translation: a router swaps private addresses for its own public one on the way out (and back on the way in), so a whole network can share one public address. Learn more: Routing & NAT

O

Open source
Software whose source code anyone may read, change and share. Linux, Git, Ansible and most tools on this site are open source. Learn more: What even is Linux?
Option (flag)
A switch that changes how a command works, usually starting with - or --, like -l in ls -l. Learn more: Meet the terminal
OSI model
A 7-layer way to describe networking, from the physical cable (1) to the application (7). People say "a layer 7 problem" to mean the app, "layer 3" for IP and routing. Learn more: Packets & layers

P

Package
A program bundled so it can be installed, updated and removed cleanly: .rpm on the RHEL family, .deb on the Debian family. Learn more: Installing software: dnf vs apt
Package manager
The tool that installs, updates and removes packages and works out what else they need: dnf on Rocky, apt on Ubuntu. Learn more: Installing software: dnf vs apt
Partition
A slice of a disk that acts like a separate disk. Each one usually gets its own filesystem. Learn more: Disks & mounting
Passphrase
A long password that encrypts your SSH private key file, so a stolen copy of the file is useless. It never leaves your computer; ssh-add unlocks the key once per session. Learn more: Lock down SSH
Path
The address of a file or folder, like /etc/hosts or notes/today.txt. See absolute path and relative path. Learn more: Moving around: cd
Permissions
Who may read, write or run a file: the owner, the group, and everyone else. Shown by ls -l, changed with chmod. Learn more: Permissions: who can do what
Pipe
The | symbol: it sends one command's output into the next command, like ls | wc -l. Learn more: Wildcards & your first pipes, Text power tools
Playbook
An Ansible file (YAML) that describes how servers should be set up. Running it makes them match. Learn more: Infrastructure as code: Ansible first steps
Port
A numbered door on a machine that a network service listens on: 22 for SSH, 80 for web, 443 for secure web. Learn more: TCP, UDP & ports, Networking: ifconfig vs ip, Network & security tools
Port scan
Knocking on a machine's network ports to see which ones answer: open (a program is listening), closed (nothing there) or filtered (a firewall is in the way). nmap is the classic tool. Only scan machines you own or have permission to test. Learn more: Scan your own lab with nmap
Private address
Addresses in 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16: free for anyone to use inside a network, never seen on the public internet. Learn more: IP addresses & subnets
Process
A program that is running right now. Each one has a number, its PID. See them with ps or top. Learn more: Processes & disk space
Prompt
The text the shell shows when it's ready for a command, like [student@rocky ~]$. It tells you who and where you are. Learn more: Meet the terminal
Pull request (PR)
A request to merge your branch into main, where teammates review the change before it goes in. GitLab calls it a merge request. Learn more: Git: pull requests & code review

R

Rebase
In Git, replaying your branch's commits on top of another branch, so history becomes one straight line. Only for commits nobody else has. Learn more: Git: stash, cherry-pick & rebase
Redirection
Sending a command's output to a file instead of the screen (> replaces, >> adds), or reading input from a file (<). Learn more: Capturing output
Reflog
Git's diary of everywhere HEAD has been. It lets you find and rescue commits that no branch points to any more. Learn more: Git: undo anything
Relative path
A path that starts from the folder you're in, like notes/today.txt or ../pictures. Compare absolute path. Learn more: Moving around: cd
Repository (repo)
For packages: an online store your package manager installs from. For Git: a project folder with its full history. Learn more: Installing software: dnf vs apt, Git: save points for your work
Resolver
A DNS server that finds answers for you and caches them, like your home router, 1.1.1.1 or 8.8.8.8. On Ubuntu, systemd-resolved is a small local one at 127.0.0.53. Learn more: DNS: how names become addresses
Reverse proxy
A web server (or load balancer) that takes requests and passes them to an app behind it. When the app fails, it answers 502, 503 or 504. Learn more: HTTP up close
Revert
In Git, a new commit that does the exact opposite of an older one. The safe way to undo something already pushed. Learn more: Git: undo anything
RHEL family
Red Hat Enterprise Linux and its relatives: Rocky Linux, AlmaLinux, CentOS Stream and Fedora. They use .rpm packages and dnf. One of the two big Linux families this site teaches. Learn more: What even is Linux?, Meet the cousins: Alma, Amazon Linux & more
Rocky Linux
A free distro built to match Red Hat Enterprise Linux, used on this site for the RHEL family. Learn more: What even is Linux?
Root
Linux's all-powerful administrator account. Also the top folder, /. Use root's power only when needed, with sudo. Learn more: Root, sudo & su
Routing table
A machine's list of "to reach these addresses, send packets here". The most specific matching route wins. See it with ip route. Learn more: Routing & NAT

S

Script
A text file full of commands that runs them in order, so you can repeat a job with one command. Learn more: Shell scripting: if, loops & functions
Security headers
Extra lines a web server sends with each page that tell the browser to be careful, like X-Content-Type-Options: nosniff or Strict-Transport-Security. Learn more: Web server hardening & HTTPS
Self-signed certificate
An HTTPS certificate the server made for itself. Traffic is encrypted, but nobody vouches for the server, so browsers warn. Fine for a lab; use Let's Encrypt for a real site. Learn more: Web server hardening & HTTPS
SELinux
The RHEL family's extra security layer: every file and process gets a label, and rules decide which labels may touch which, even for root. Ubuntu uses AppArmor for the same job. Learn more: SELinux vs AppArmor, Deploying your company’s app
Semantic versioning
Version numbers as MAJOR.MINOR.PATCH: bump PATCH for fixes, MINOR for new features, MAJOR for changes that can break things. Learn more: Git: tags, releases & finding the bad commit
Service
A program that runs in the background and usually starts at boot, like a web server or SSH. Controlled with systemctl. Learn more: Services & your first website, Services deep dive: systemd & init.d
Shebang
The first line of a script that says which program runs it, like #!/bin/bash. Learn more: Shell scripting: if, loops & functions, POSIX: write once, run anywhere
Shell
The program that reads what you type in the terminal and runs it. On this site's servers it's bash. Learn more: Meet the terminal
Signal
A message sent to a process, like please stop (TERM) or stop now (KILL). Ctrl+C sends one; so does kill. Learn more: Processes & disk space, Jobs: pause, background & bring back
SLO
Service Level Objective: a reliability target, like 99.9% of requests succeed each month. Learn more: SLIs, SLOs, SLAs & KPIs: measuring reliability
SNI
Server Name Indication: the site name the client sends at the start of the TLS handshake, so one server can host many HTTPS sites. Learn more: TLS & certificates
SSH
Secure Shell: the safe, encrypted way to log in to another computer and run commands on it: ssh student@server. Learn more: Connecting with SSH, SSH apps: PuTTY, iTerm2 & friends
SSH key
A pair of files that proves who you are without a password: a private key you keep secret and a public key you put on servers. Learn more: Connecting with SSH, SSH apps: PuTTY, iTerm2 & friends
sshd
The SSH server: the program that answers when someone connects with ssh. The service is sshd on Rocky and ssh on Ubuntu; its settings are in /etc/ssh/sshd_config. Learn more: Lock down SSH, Connecting with SSH
Stash
In Git, a pocket where you park unfinished changes so you can switch branches with a clean folder, then pop them back later. Learn more: Git: stash, cherry-pick & rebase
Subnet
A network (or a piece of a bigger one) with its own range of addresses, like 10.20.0.64/26. Machines in the same subnet talk directly; others go through a router. Learn more: IP addresses & subnets
sudo
Run one command with root's power: sudo dnf install tree. It asks for your password and keeps a record. Learn more: Root, sudo & su
sudoers
The rules for who may use sudo and for which commands: /etc/sudoers plus the files in /etc/sudoers.d/. Edit them with visudo. Learn more: Find the weak spots
SUID
A permission bit (the s in -rwsr-xr-x) that makes a program run as its owner, usually root, no matter who starts it. Normal for passwd; dangerous for general tools. Learn more: Find the weak spots, Permissions: who can do what
systemd
The program that starts everything else when Linux boots and looks after services. You talk to it with systemctl and read its logs with journalctl. Learn more: Services deep dive: systemd & init.d, Services & your first website

T

Tag
In Git, a permanent name for one commit, usually a release like v1.2. Unlike a branch, it never moves. Learn more: Git: tags, releases & finding the bad commit
TCP
The careful way to send data: a handshake first, everything acknowledged and resent if lost. Used by the web, SSH and email. Learn more: TCP, UDP & ports
Terminal
The window where you type commands and read the answers. The program inside it that understands the commands is the shell. Learn more: Meet the terminal
Three-way handshake
How every TCP connection starts: SYN, SYN-ACK, ACK. If nothing listens, the answer is a RST (connection refused). Learn more: TCP, UDP & ports
TLS
Transport Layer Security: the encryption and identity check behind HTTPS (the old name was SSL). Learn more: TLS & certificates, Web server hardening & HTTPS
TTL (time to live)
How many seconds a DNS answer may be remembered (cached). It's why a DNS change takes a while to reach everyone. Learn more: DNS: how names become addresses

U

Ubuntu
The most popular Linux distro for beginners and the cloud, used on this site for the Debian family. Learn more: What even is Linux?
UDP
The quick way: send and hope, no handshake. Used by DNS lookups, time sync, video calls, games and HTTP/3. Learn more: TCP, UDP & ports
User
An account on the machine, with its own name, home folder and permissions. Learn more: Managing users & groups

V

Version control
Keeping every saved version of your files so you can compare, undo and share changes. Git is the most used tool for it. Learn more: Git: save points for your work
vim
A powerful text editor that runs in the terminal and is on almost every Linux machine. nano is the simpler alternative. Learn more: Text editors: vim (and nano)
Virtual host
One of several websites on the same server and address. The web server picks it by the request's Host header. Learn more: HTTP up close
Virtual machine (VM)
A whole pretend computer running inside a real one, with its own operating system. Great for practising safely. Learn more: What even is Linux?, What’s in this computer?

W

Wildcard
A pattern that matches many file names at once: * (anything), ? (one character), [abc] (one of these), like *.log. Learn more: Wildcards & your first pipes

X

X-Forwarded-For
A header a proxy or load balancer adds with the visitor's real IP address, because the app behind it only sees the proxy. Learn more: Load balancers, proxies & CDNs

Send feedback

We're in a public beta, so every message helps. What's on your mind?

Please don't include your name, email or other personal details. We can't reply, but we read every one. We'll note which page you sent it from.