LinuC Level 2 Exam 202 — knowledge map
The 156 core concepts of LinuC Level 2 Exam 202 and how they connect. Click a node in the map above to explore related terms and prerequisites; the list below indexes every concept with its definition and links to its prerequisites and related concepts.
Concepts (156)
Locating commands (which/whereis/type)
Three ways to locate a command: which finds the executable on PATH, whereis adds man pages and source, and type also detects aliases and shell builtins (type cd -> shell builtin).
Prerequisites: Alias / shell builtin、locate / updatedb、man (manual)、source (dot command)
Shell (bash)
The interactive environment that interprets user commands and passes them to the kernel; the Linux default is bash. Its mechanics (variables, quoting, history, path resolution) underpin scripting and text processing.
Prerequisites: Command history (history)、Quoting (single / double / backquote)
Kernel
The core of the OS; it manages hardware (CPU, memory, devices) and provides services to processes. VMs each have their own kernel, while containers share the host kernel.
Packages and repositories
Linux software is managed as packages fetched from distribution servers (repositories); a package manager auto-resolves dependencies and handles install/update/remove centrally, working from a local index (package catalog).
Related: Distribution
Filesystems and mkfs
Making a partition usable (formatting) means creating a filesystem, done with the mkfs family. ext4 is the general Linux standard (predecessor ext3), XFS excels at large/parallel workloads (RHEL default), VFAT interoperates with Windows, Btrfs is new-generation, and tmpfs lives in memory and vanishes on reboot.
Prerequisites: Shutdown and reboot commands (shutdown/reboot/halt/poweroff)
Distribution
A packaged form distributing the Linux kernel together with package management, tools, and configuration; the Debian/Ubuntu family (apt) and the RHEL/CentOS family (yum/dnf) differ in management commands and defaults.
Prerequisites: Kernel
Related: Packages and repositories
Filesystem mounting (/etc/fstab)
Mounting attaches a filesystem at a point in the directory tree (a mount point); use mount/umount (umount fails while busy). Boot-time mounts are defined in /etc/fstab (device, point, type, options, dump, fsck order) and verified with mount -a. Removable media mount under /media.
Prerequisites: Control flow (if / case / for / while)、Filesystems and mkfs
Filters (text-processing commands)
Single-purpose commands that transform stdin to stdout: view with cat/less (pager)/head/tail (-f follows), transform with tr/nl, join with paste/join, split with split, format with expand/unexpand/fmt/pr, dump binary with od. Combined via pipes.
Prerequisites: Pipe (|)、Standard streams (stdin / stdout / stderr)
iptables / firewalld (firewall)
A host packet filter: iptables drives the kernel netfilter directly via rule chains (INPUT/OUTPUT/FORWARD); firewalld manages by zones and service names (rules vanish on reboot without --permanent). The policy is default-deny, allowing only what is needed.
Prerequisites: Filters (text-processing commands)、Kernel、Shutdown and reboot commands (shutdown/reboot/halt/poweroff)
Related: Firewall
Web server
A server that accepts client requests over HTTP/HTTPS, returning static content or forwarding dynamic requests to an application server. Apache and nginx are common examples.
Apache HTTP Server
A widely used Linux web server (httpd / apache2). It is configured via httpd.conf for virtual hosts, authentication, and access control, and controlled with apachectl / apache2ctl.
Related: Virtual host、Web server
IP address (IPv4 / IPv6)
A number identifying a host on a network: IPv4 is 32 bits in dotted quads (192.168.1.10), IPv6 is 128 bits in colon-hex, structurally solving address exhaustion; an fe80:: link-local address auto-configures for on-link traffic.
Redundancy
Providing multiple components with the same role so the overall service continues even if one fails. A basic building block of HA configurations, realized in combination with clustering and replication.
Prerequisites: Cluster、Replication
Related: HA (high-availability) configuration
systemd / systemctl
The modern Linux init and service manager; it runs as PID 1 and starts services (units) in parallel by dependency (successor to legacy SysV init). systemctl is its control command (start/stop/enable/disable/status).
Access log
A log recording requests a web server has received (source, timestamp, URL, status code, etc.). Apache writes it to access_log by default.
Prerequisites: Apache HTTP Server、source (dot command)、Timestamp、Web server
Control flow (if / case / for / while)
Branching and looping in scripts: if…fi is a conditional ([ ] is test), case…esac branches a value by patterns, and for/while…done loop. The key is not to confuse the closers (fi/esac/done).
find
Walks a path in real time to find matching files: filter with -name, -type (f/d), -size, -mtime (modified; -7 within 7 days), -user, and act in bulk with -exec command {} \;.
Prerequisites: Filters (text-processing commands)、PATH、Locating commands (which/whereis/type)
Firewall
A mechanism that controls traffic according to allow/deny rules. On Linux it is implemented via iptables / firewalld, and in cloud environments it is offered as constructs like security groups.
Related: iptables / firewalld (firewall)
HA (high-availability) configuration
A configuration designed to minimize downtime of servers or services, combining redundancy, clustering, and load balancing to eliminate single points of failure (SPoF) and raise availability.
Prerequisites: Cluster、Load balancing (load balancer)
Related: Redundancy
NAT (Network Address Translation)
A mechanism that translates private IP addresses to public IP addresses and back, running on a router or gateway so many internal hosts can share a small number (or just one) of public IPs to reach the internet (NAPT / IP masquerading). On Linux this is implemented via the iptables MASQUERADE target, among others.
Prerequisites: iptables / firewalld (firewall)、IP address (IPv4 / IPv6)、Private / public IP address、systemd targets (default target / single-user mode)
Persisting jobs after disconnect (nohup/screen/tmux)
Ways to keep work running after logout or a dropped SSH: nohup ignores hangup (SIGHUP); screen/tmux are terminal multiplexers you can detach and reattach.
Prerequisites: Session (stateless architecture)、Signals and terminating processes (kill / pkill / killall / pgrep)
PATH
An environment variable listing directories searched for command executables; the current directory is not included by convention, so run local scripts as ./script.sh (relative) or by absolute path.
Prerequisites: Shell and environment variables
Related: Absolute and relative paths
Permissions and ownership
Access control per file for three classes (owner, owning group, others) with read (r), write (w), execute (x); shown in the first 10 chars of ls -l. Change the owner with chown and the group with chgrp.
Resilience
The property of a system to keep functioning, or to recover quickly, even when a failure occurs; strengthened through redundancy, clustering, and geographic distribution.
Prerequisites: Cluster、Distribution、Redundancy
Related: Geographic distribution
Application server (AP server)
The middle tier of the three-tier web model, running application/business logic. It receives requests from the web server and exchanges data with the DB server to produce results.
Related: Three-tier web model、Web server、Database server (DB server)
Asynchronous data processing
A pattern in which time-consuming work is handed off via a queue or messaging system to run later, rather than making the requester wait for a response; it decouples processing and improves throughput.
Prerequisites: Locating commands (which/whereis/type)
Related: Messaging system、Queue (message queue)
Cluster
A configuration of multiple servers working in coordination as a single system, built with tools such as Pacemaker and Corosync, raising availability through failover on failure.
Console / terminal emulator
The text screen for operating the shell; you enter commands via a physical text console or a terminal emulator that provides it on the desktop.
Prerequisites: Persisting jobs after disconnect (nohup/screen/tmux)、Shell (bash)
Fixed IP
An IP address bound to a specific instance (server) that does not change. This contrasts with a floating IP, which can be carried over even when the underlying instance is replaced.
Prerequisites: IP address (IPv4 / IPv6)、Locating commands (which/whereis/type)
Related: Floating IP
Floating IP
A public IP address that can be dynamically reassigned between instances, enabling fast failover by moving it to a healthy instance when one fails. This contrasts with a fixed IP, which stays bound to a specific instance.
Prerequisites: IP address (IPv4 / IPv6)、Locating commands (which/whereis/type)
Related: Fixed IP
Hard and symbolic links (ln)
Multiple names for one entity: a hard link (ln) is an equal name for the same inode—same filesystem only, no directories, and data survives deletion. A symbolic link (ln -s) is a file holding a path—it can cross filesystems and point at directories, but dangles if the target is removed.
Prerequisites: Filesystems and mkfs、PATH
Related: inode
Queue (message queue)
A mechanism that temporarily holds messages or tasks awaiting processing; it absorbs speed differences between sender and receiver and underpins asynchronous data processing.
Related: Asynchronous data processing
Reverse proxy
A proxy positioned on the server side that receives client requests and relays them to one or more backend servers; used for load balancing, SSL termination, and caching. Its direction is the opposite of a forward proxy (used on the client side).
Prerequisites: Load balancing (load balancer)
Related: Forward proxy
Session (stateless architecture)
The state of an ongoing interaction with a user. Making servers "stateless" (not holding session data locally) means any server can handle a given request, making the system easier to scale out.
Prerequisites: Scale-out
Shutdown and reboot commands (shutdown/reboot/halt/poweroff)
Commands to safely stop or restart the system. shutdown is the canonical one, supporting scheduling (-h halt / -r reboot) and warnings to logged-in users; halt stops, reboot restarts, poweroff powers off.
source (dot command)
The . (dot) and source commands read a script into the current shell without creating a new process; used to apply config files (e.g., ~/.bashrc) without re-login.
Prerequisites: Shell (bash)
Timestamp
The last-modified/accessed/changed time of a file; touch updates it, and find -mtime can search by modification date.
Prerequisites: System and hardware clocks (date / hwclock)、Basic file operations (cp / mv / rm / mkdir)、find、Login status (who/w/last)
Alias / shell builtin
An alias is an alternate name for a command (alias ll='ls -l') that shadows a同名 command; a shell builtin (cd, echo) is built into the shell itself with no external executable.
Prerequisites: Shell (bash)
Boot loader (GRUB2)
A program that selects and loads the kernel after firmware; the Linux standard is GRUB2, which offers a menu of kernels and boot options.
Prerequisites: Kernel、Locating commands (which/whereis/type)
Database server (DB server)
The backend tier of the three-tier web model, responsible for persisting and managing data; it reads and writes data in response to queries from the AP server.
Related: Three-tier web model、Application server (AP server)
Default route (default gateway)
The exit for packets destined outside your network; check with ip route (or route -n)—without it nothing leaves the local segment. Fix a wrong routing table with ip route del/add default.
Prerequisites: Exit status ($? / exit)、Network configuration (ip / ifconfig / nmcli)
Default editor (EDITOR / nano / emacs)
Which editor crontab -e and similar launch is set by the EDITOR variable (export EDITOR=nano). nano shows keys on-screen (beginner-friendly), and emacs is another major editor.
Prerequisites: cron / crontab (periodic scheduling)、Persisting jobs after disconnect (nohup/screen/tmux)、Shell and environment variables、Locating commands (which/whereis/type)
Error log
A log recording a web server startup/configuration errors or problems during request handling. Apache writes it to error_log and it is usually the first clue when troubleshooting.
Prerequisites: Apache HTTP Server、Web server
Failure pattern
The categories of failure anticipated in a system (physical failures, logical failures, breakdown of a single point of failure, etc.). HA design considers redundancy so service continues under any of these failure patterns.
Prerequisites: HA (high-availability) configuration、Redundancy
Forward proxy
A proxy positioned on the client side that sends requests to external servers on the client's behalf; used to anonymize clients or to centrally manage and filter outbound traffic from an organization. Its direction is the opposite of a reverse proxy (used on the server side).
Prerequisites: Filters (text-processing commands)
Related: Reverse proxy
Geographic distribution
Distributing servers or data centers across multiple geographic regions so service can continue even during a wide-area outage such as a regional disaster or power failure; one way to increase resilience.
Prerequisites: Distribution
Related: Resilience
systemd journal (journalctl)
Binary-format logs collected by systemd, queried with journalctl (-u per unit, -b this boot, -f follow, -p severity, --since time range). It persists if /var/log/journal/ exists, otherwise memory-only (lost on reboot). Configure via journald.conf; trim old data with --vacuum-*.
Prerequisites: Shutdown and reboot commands (shutdown/reboot/halt/poweroff)、systemd / systemctl
Load balancing (load balancer)
A mechanism (or the device/software implementing it) that distributes requests across multiple servers, avoiding concentration on one server and improving availability and scalability. DNS round-robin is one simple way to achieve it.
Messaging system
Infrastructure for exchanging messages (events or tasks) between applications; it uses queues to loosely couple sender and receiver, enabling asynchronous data processing.
Prerequisites: Queue (message queue)
Related: Asynchronous data processing
MTA and mail forwarding (aliases / .forward)
An MTA (postfix, exim; SMTP port 25) receives and delivers mail. System-wide forwarding goes in /etc/aliases and must be applied with newaliases after editing; per-user forwarding uses ~/.forward. Send with mail; check the pending queue with mailq.
Prerequisites: Queue (message queue)
Related: SMTP protocol
OSS community and ecosystem
The distributed development that sustains OSS: worldwide contributors send patches/pull requests to maintainers (the final gatekeepers). Communication happens on mailing lists (e.g., LKML), forums, and development sites (issue trackers). Distributions integrate upstream projects and deliver them to users.
Prerequisites: Distribution
Pipe (|)
Connects the left command's stdout to the right command's stdin (ps aux | grep nginx); stderr does not enter the pipe (add 2>&1 first to include it).
Prerequisites: Text search and extract commands (grep/egrep/fgrep/sed)、Redirection (> / >> / 2>&1)
Proxy server
A general term for a server that sits between clients and servers, relaying requests. Depending on placement, it acts as a forward proxy (client side) or a reverse proxy (server side); Squid is a common implementation.
Prerequisites: Forward proxy、Reverse proxy
RPO (Recovery Point Objective)
A target indicating how far back in time data must be recoverable after a failure, determined by backup frequency; a smaller RPO means less tolerable data loss. Distinct from RTO, which is about recovery time.
Prerequisites: Filters (text-processing commands)、Locating commands (which/whereis/type)
Related: RTO (Recovery Time Objective)
Resource record (RR)
The individual configuration entries written in a DNS zone file. Types include SOA (zone authority info), NS (name server), A/AAAA (IPv4/IPv6 address), MX (mail server), CNAME (alias), and PTR (reverse lookup).
Prerequisites: Alias / shell builtin、IP address (IPv4 / IPv6)
Related: Zone file
Scale-out
Increasing processing capacity by adding more servers—horizontal scaling, as opposed to scale-up (vertical scaling), which boosts a single server's specs. It pairs well with stateless servers lined up behind a load balancer.
Prerequisites: Locating commands (which/whereis/type)
Shell and environment variables
A shell variable is set with NAME=value (no spaces around =) and is valid only in that shell; export makes it an environment variable inherited by child processes. List with set (all) / env (environment only), remove with unset, print with echo.
Prerequisites: Shell (bash)
Related: Child process
SMTP protocol
The protocol used to send mail between servers and from clients to servers (TCP port 25, etc.). MTAs such as Postfix use this protocol to deliver mail.
Standard streams (stdin / stdout / stderr)
The three streams every command has: standard input (0), standard output (1), standard error (2). Rewiring them with redirection and pipes is the basis of Linux text processing.
Related: Pipe (|)、Redirection (> / >> / 2>&1)
Virtual host
A mechanism for hosting multiple domains (sites) on a single web server. Apache or nginx separates configuration per domain, IP, or port so each responds as an independent site.
Prerequisites: Web server
Related: Apache HTTP Server
Virtual machine (VM)
A virtual computer running on a hypervisor with its own independent guest OS (including a kernel); it can run a different OS from the host but boots slower and uses more resources.
Prerequisites: Hypervisor、Kernel
Login status (who/w/last)
Commands to see who is logged in: who shows current logins, w adds activity and load, and last shows login history from /var/log/wtmp.
Related: Command history (history)
Zone transfer
The mechanism by which a primary (master) DNS server replicates zone-file contents to a secondary (slave) DNS server, keeping the secondary up to date with the latest zone information.
Prerequisites: System and hardware clocks (date / hwclock)、Locating commands (which/whereis/type)、Zone file
Autoscaler
A mechanism that automatically increases or decreases the number of servers in response to load; provided as a cloud service feature to automate scale-out and scale-in.
Prerequisites: Scale-in
Child process
A process started by another (its parent). When the shell runs a command it forks a child, and only environment variables are inherited (the reason export is needed).
Prerequisites: Shell (bash)
Related: Shell and environment variables
chmod / umask
chmod changes permissions: octal mode sums r=4, w=2, x=1 per triplet (chmod 754); symbolic mode uses u/g/o/a with +/-/=. umask sets default bits removed at creation—files start from 666, directories from 777 (umask 022 gives 644/755).
Prerequisites: Octal (permission notation)、Permissions and ownership
System and hardware clocks (date / hwclock)
Linux keeps two clocks: the OS-maintained system clock (date/timedatectl) and the motherboard hardware clock (hwclock). hwclock --systohc writes system->hardware; --hctosys is the reverse.
Prerequisites: Time zone (timedatectl)
Copyleft and permissive
Two families of OSS licenses: copyleft requires derivatives you redistribute to carry the same license (source disclosed), a propagating condition; permissive lets you close modifications if you keep the copyright notice. The trigger for obligations is generally "redistribution".
Prerequisites: source (dot command)
Dependencies (packages)
Other packages a package needs to function; apt/yum resolve them automatically and install together, while dpkg/rpm do not and fail when a dependency is missing.
Prerequisites: Control flow (if / case / for / while)、dpkg (direct deb handling)、Packages and repositories
ESP (EFI System Partition)
A FAT-formatted partition holding the boot loader for UEFI boot, mounted at /boot/efi.
Prerequisites: Boot loader (GRUB2)、Filesystem mounting (/etc/fstab)、UEFI / BIOS
FHS (Filesystem Hierarchy Standard)
A convention defining the standard directory layout: /etc config, /var variable data (logs), /home users, /usr apps, /bin,/sbin core commands, /opt add-ons, /tmp temporary, /boot kernels, /dev devices, /proc,/sys virtual FS. Nearly universal across distributions.
Prerequisites: Distribution、Filesystems and mkfs、Kernel
Text search and extract commands (grep/egrep/fgrep/sed)
grep prints lines matching a regex (-i ignore case, -v non-matching, -n line numbers, -r recursive); egrep (grep -E) uses extended regex, fgrep (grep -F) does fixed-string search with no regex. sed is a stream editor, best known for sed 's/old/new/g' search-and-replace.
Prerequisites: Control flow (if / case / for / while)、Regular expression
Host key
The key pair (/etc/ssh/ssh_host_*_key) an SSH server holds to prove its own identity. On connecting, clients check this key's fingerprint against known_hosts to detect impersonation or man-in-the-middle attacks.
Related: SSH key files (authorized_keys / known_hosts / id_rsa)
initramfs
An initial RAM disk containing the drivers the kernel needs to mount the real root filesystem; it bridges early boot.
Prerequisites: Filesystems and mkfs、Kernel、Filesystem mounting (/etc/fstab)
KVM
Virtualization built into the Linux kernel (Kernel-based Virtual Machine), turning Linux itself into a hypervisor.
Prerequisites: Hypervisor、Kernel、Virtual machine (VM)
locate / updatedb
locate searches the index database built by updatedb, so it is fast but blind to files newer than the last index; refresh with updatedb and configure exclusions in /etc/updatedb.conf. When accuracy matters, use find (a live walk).
Prerequisites: find、Login status (who/w/last)
Port and process inspection (nmap/lsof/fuser)
nmap scans ports from outside to see the real exposure; lsof (lsof -i:80) and fuser identify the process holding a port or file. The difference between ss (inside) and nmap (outside) is the firewall effect.
Prerequisites: Firewall
Private / public IP address
Private IP addresses (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) are numbers used only within a limited scope such as an organization and cannot reach the internet directly. They pair with public IP addresses, which are uniquely reachable on the internet, and a router translates between the two to communicate.
Prerequisites: IP address (IPv4 / IPv6)、Locating commands (which/whereis/type)
Redirection (> / >> / 2>&1)
Re-points stream I/O: > overwrites stdout to a file, >> appends, < feeds a file to stdin. Capture both streams with > file 2>&1 (order matters); discard into /dev/null.
Regular expression
A language for describing string patterns: ^ line start, $ line end, . any one char, [abc] a set, * zero-or-more of the previous. Basic (BRE) and extended (ERE: + ? | ( )) forms exist; the * differs from a shell wildcard (any string is .*). Full grammar in regex(7).
Prerequisites: Shell (bash)
Related: Wildcards (globbing)
Replication
A mechanism that copies data (e.g., of a database) from a master to one or more replicas; used to distribute read load and to serve as a failover target if the master fails.
Scale-in
Reducing the number of servers when load drops, to cut wasted cost—the counterpart operation to scale-out. In autoscaling, scale-in triggers automatically once a metric (e.g., CPU utilization) falls below a threshold.
Scale-up / scale-down
Adjusting processing capacity by increasing or decreasing an individual server's specs (CPU, memory, etc.): scale-up raises capacity, scale-down lowers it. This contrasts with scale-out/in, which changes the number of servers.
Prerequisites: Locating commands (which/whereis/type)
Shell scripts and the shebang
Automating a series of commands in a file; the first-line shebang #!/bin/bash names the interpreter, and chmod +x grants execute permission to run it as ./script.sh.
Prerequisites: chmod / umask、Permissions and ownership、Shell (bash)
showmount (list NFS exports)
A command to check which directories an NFS server exports and which clients have them mounted. `showmount -e servername` lists the exported directories on the target server.
Prerequisites: Filesystem mounting (/etc/fstab)、Locating commands (which/whereis/type)
Signals and terminating processes (kill / pkill / killall / pgrep)
Signals convey control to processes: the default SIGTERM (15) politely asks to terminate, SIGKILL (9) force-kills uncatchably, SIGHUP (1) means hangup/reload. kill takes a PID, pkill/killall take a name, pgrep finds PIDs by name.
Time zone (timedatectl)
Regional time settings; the data lives under /usr/share/zoneinfo/, configured by symlinking /etc/localtime to one. On systemd, timedatectl set-timezone Asia/Tokyo persists it, the TZ variable switches temporarily, and tzselect picks interactively.
Prerequisites: Hard and symbolic links (ln)、systemd / systemctl
UEFI / BIOS
Firmware that runs right after power-on; it initializes hardware (POST self-test), selects and prioritizes the boot device, and loads the boot loader. UEFI is the successor to BIOS, supporting GPT disks and large capacities.
Prerequisites: Boot loader (GRUB2)
Virtual filesystems (/proc, /sys)
Information windows with no on-disk存在, generated in memory by the kernel: /proc exposes process/kernel state (e.g., /proc/cpuinfo) and /sys (sysfs) the device tree.
Prerequisites: Filesystems and mkfs、Kernel、Device management (udev/sysfs/D-Bus)
Virtual machine image
An image file packaging an OS and applications in a pre-configured state. Virtual machines with identical configuration can be quickly cloned and started from it, supporting scale-out and machine reprovisioning.
Prerequisites: Packages and repositories、Virtual machine (VM)
Three-tier web model
A system architecture that splits roles across three tiers: web server, application server, and database server. Each tier can scale independently, and the impact of changes stays contained within a tier.
Prerequisites: Web server
Related: Application server (AP server)、Database server (DB server)
Remote GUI (DISPLAY / xauth / X11 forwarding)
Displaying a remote GUI app on your local screen: the DISPLAY variable points to the target X server and xauth manages authorization. In practice, ssh -X (X11 forwarding) shows it over the SSH tunnel.
Prerequisites: Persisting jobs after disconnect (nohup/screen/tmux)
xargs / tee
xargs turns incoming text into arguments for the next command (find … | xargs rm)—a bridge to commands that take arguments, not stdin. tee duplicates a stream to both the screen and a file.
Prerequisites: find、Persisting jobs after disconnect (nohup/screen/tmux)、Standard streams (stdin / stdout / stderr)
X Window System (X server / X client)
The server/client foundation of the Linux GUI: the X server runs where the display/input are and provides drawing and input, while X clients are the applications. Where an app runs and where it displays can differ.
Prerequisites: Control flow (if / case / for / while)
apt (Debian family)
Repository-based package management on Debian/Ubuntu: apt update refreshes the index (not packages), apt upgrade upgrades packages, plus install/remove/purge. apt-cache searches, apt-file reverse-looks-up which package provides a file (including uninstalled). Repositories are defined in /etc/apt/sources.list.
Prerequisites: Packages and repositories、Locating commands (which/whereis/type)
Operating Linux in the cloud
For cloud Linux servers, the provider controls everything outside the OS (power, network entry, physical placement). The management console is internet-reachable, so protect it with multi-factor authentication / one-time passwords (a leak loses every server). Region choice ties to regulation and data sovereignty; ephemeral storage vanishes on stop so keep no durable data there. Design for auto-recovery against provider maintenance (reboots).
Prerequisites: Console / terminal emulator、X Window System (X server / X client)
DNS client config (host / dig / resolv.conf)
Configuring and checking name resolution: nameserver in /etc/resolv.conf sets the DNS servers, /etc/nsswitch.conf the lookup order (usually files->dns), and /etc/hosts holds static entries. host/dig query DNS directly (dig selects a server with @), while getent resolves following nsswitch order (including /etc/hosts).
Prerequisites: Control flow (if / case / for / while)
dpkg (direct deb handling)
The low-level tool beneath apt, handling deb files directly (-i install, -r remove, -P purge). It resolves no dependencies. Query with -l list, -L package->files, -S file->package. dpkg-reconfigure re-runs a package interactive setup.
Prerequisites: Packages and repositories
Exit status ($? / exit)
A number indicating a command result: $? holds the last exit status (0 = success, non-zero = failure), and exit N sets a script own status. It underpins branching with && and ||.
Prerequisites: Login status (who/w/last)
Basic file operations (cp / mv / rm / mkdir)
Core commands to manage files/directories: cp copies, mv moves (renames), rm deletes, mkdir/rmdir create/remove (empty) directories, touch creates empty files or updates timestamps, file identifies type. Directory-wide operations need -r (recursive).
Prerequisites: Locating commands (which/whereis/type)
Command history (history)
A record of previously run commands: history lists them, !number re-runs one, !! repeats the last. Saved to ~/.bash_history on logout.
Related: Login status (who/w/last)
Hypervisor
Software that virtualizes a physical machine CPU/memory/disk and shares them among virtual machines; it uses CPU virtualization extensions (Intel VT-x / AMD-V) for practical speed. On Linux, KVM plays this role.
inode
The metadata record managing a file (size, owner, permissions, data location); a filename is just a label on an inode. ls -i shows inode numbers—matching numbers mean hard links.
Prerequisites: Permissions and ownership
Related: Hard and symbolic links (ln)
Kernel modules (modprobe)
A way to load drivers into the kernel only when needed: lsmod lists loaded modules, modprobe loads/unloads with dependencies (the first choice), and insmod/rmmod load/unload a single module by file path.
Network configuration (ip / ifconfig / nmcli)
Viewing/changing host networking: the current standard is the ip command (ip addr for addresses, ip route for routes), legacy is ifconfig/route. ip/ifconfig changes are temporary and vanish on reboot; persist via NetworkManager nmcli or config files. ifup/ifdown bring interfaces up/down from config. The hostname is in /etc/hostname.
Prerequisites: Shutdown and reboot commands (shutdown/reboot/halt/poweroff)
Octal (permission notation)
A base-8 numbering system using digits 0-7; Linux permissions are written as three octal digits summing r=4, w=2, x=1 (rwxr-xr-- is 754).
Prerequisites: Permissions and ownership
Partition (MBR / GPT)
The unit into which a disk is divided; the ledger is the partition table, either legacy MBR (2 TB max, four primary partitions with extended as the workaround) or the mainstream GPT (practically unlimited, paired with UEFI).
Prerequisites: UEFI / BIOS、Locating commands (which/whereis/type)
Permissive licenses (BSD/MIT/Apache/MPL)
Permissive licenses and a middle ground: BSD and MIT allow closing modifications with minimal terms; Apache License 2.0 adds explicit patent grants; MPL is file-level copyleft (only modified files disclosed). The public domain claims no copyright.
Prerequisites: Apache HTTP Server、Copyleft and permissive
Port redirection
A mechanism that forwards traffic destined for one port to a different port or host, implemented via constructs such as the iptables NAT table (DNAT); commonly used to route an externally exposed port to an internal service.
Prerequisites: iptables / firewalld (firewall)、Redirection (> / >> / 2>&1)
Quoting (single / double / backquote)
Single quotes '…' keep everything literal (no expansion), double quotes "…" expand $variables, and backquotes `…` (= $(…)) perform command substitution, replaced by the output.
Related: Command substitution
RTO (Recovery Time Objective)
A target for how much time is allowed to restore service after a failure occurs; a smaller RTO means faster recovery is required. Distinct from RPO, which concerns tolerable data loss.
Prerequisites: Locating commands (which/whereis/type)
Related: RPO (Recovery Point Objective)
SMTP authentication (SASL)
A mechanism that authenticates the sender with a username and password when sending mail, using the SASL (Simple Authentication and Security Layer) framework to prevent unauthorized relaying (open relay) by third parties.
Prerequisites: SMTP protocol
SSH key generation and management (ssh-keygen / ssh-agent)
ssh-keygen generates a key pair (-t ed25519 is the current best; RSA/ECDSA/Ed25519). A passphrase encrypts the private key file itself. ssh-agent holds decrypted keys in memory, and ssh-add registers them so the passphrase is entered only once per session.
Prerequisites: Session (stateless architecture)
Shell startup files (login / non-login shells)
A login shell (e.g., ssh login) reads /etc/profile then only the first of ~/.bash_profile, ~/.bash_login, ~/.profile; a non-login shell (a new terminal tab) reads /etc/bash.bashrc then ~/.bashrc. Put environment variables in the profile files and aliases/functions in .bashrc; on logout ~/.bash_logout runs.
Prerequisites: Alias / shell builtin、Shell (bash)
systemd targets (default target / single-user mode)
Unit groups representing how far to boot: multi-user.target (CUI server standard), graphical.target (GUI), rescue.target (single-user mode). set-default sets the default from next boot; isolate switches now.
Prerequisites: systemd / systemctl
Device management (udev/sysfs/D-Bus)
udev detects hot-plug events and dynamically creates/names device files in /dev; sysfs (/sys) is the device tree the kernel exposes, and D-Bus is the IPC that notifies desktops and services of events.
Prerequisites: Kernel
ulimit / TMOUT
ulimit caps resources for the shell and its children (-n open files, -u processes, -c core size). TMOUT is the idle seconds before auto-logout, set in a profile as a defense against unattended terminals.
Prerequisites: Child process、Shell (bash)
UUID / label (blkid)
Robust ways to identify a filesystem: using UUID= or a label in /etc/fstab survives device-order changes (e.g., /dev/sdb becoming /dev/sdc). Inspect UUIDs with blkid.
Prerequisites: Filesystems and mkfs、Filesystem mounting (/etc/fstab)
Wildcards (globbing)
Shell expansion of filenames by pattern: * matches any run of characters, ? exactly one, [a-c] a set/range. Note the * differs in meaning from a regex *.
Prerequisites: Shell (bash)
Related: Regular expression
Zone file
A text file listing the resource records (SOA, NS, A, MX, etc.) belonging to a DNS zone. In BIND, named serves domain name-resolution information based on this file.
Related: Resource record (RR)
Absolute and relative paths
An absolute path starts from / (the full location, /etc/hosts); a relative path is from the current location (./script.sh, ../dir). Check the current directory with pwd.
Related: PATH
at / anacron
at schedules a one-time run (at 23:00, at now + 2 hours; atq lists, atrm cancels; control via at.allow/at.deny). anacron manages daily-or-longer periods by interval and runs jobs missed while powered off after boot (config in /etc/anacrontab).
Prerequisites: Control flow (if / case / for / while)
Participating in the ecosystem (bug reports)
Participation can be graduated: use (itself a form of testing) -> advocacy -> bug reports -> docs/translation/patches. A good bug report includes environment (OS/version), expected vs actual behavior, and reproduction steps, filed on the issue tracker. You can contribute without writing code.
Prerequisites: OSS community and ecosystem
Character encodings and iconv
Ways to represent characters as numbers: ASCII is the 7-bit base for letters/symbols, Unicode assigns numbers to every script with UTF-8 (ASCII-compatible, the Linux default) as its main encoding; ISO-8859 is for European languages, ISO-2022-JP the Japanese email tradition. Convert with iconv -f from -t to (rescuing mojibake).
Command substitution
A notation embedding a command output inline: $(command) or `command` (backquotes), e.g., FILES=$(ls *.log) captures the result into a variable.
Container (Linux)
A lightweight runtime that shares the host OS kernel and isolates processes with namespaces; it starts no guest OS so it is fast and light, but can only run the host OS family.
Prerequisites: Kernel
cron / crontab (periodic scheduling)
Runs tasks periodically at set times: edit with crontab -e using the format "minute hour day month weekday command". User jobs live in /var/spool/cron/, system ones in /etc/crontab (with a user column), /etc/cron.d/, and cron.{hourly,daily,weekly,monthly}/. Access control via cron.allow/cron.deny (allow wins if present).
Shell functions
A reusable part naming a routine: define with name() { … } or function name { … }; inside, $1 refers to the function own argument.
Prerequisites: Shell (bash)
GnuPG (gpg)
A public-key tool to encrypt, decrypt, and sign files. Encrypt with the recipient public key (gpg -e -r recipient) so only they can decrypt with their private key; sign with your own private key. The keyring is ~/.gnupg/, with gpg-agent managing passphrases.
Prerequisites: SSH key generation and management (ssh-keygen / ssh-agent)
Copyleft licenses (GPL/AGPL/LGPL)
Copyleft licenses: GPL is the flagship, extending disclosure to the linked whole; AGPL extends it to network provision (SaaS); LGPL is the library relaxation where mere linking does not propagate.
Prerequisites: Copyleft and permissive
ISO image
An image format packing an optical disc into a single file; distributed as Linux install media, written to DVD/USB or mounted directly by a VM to boot.
Prerequisites: Filesystem mounting (/etc/fstab)
Job control (bg / fg / jobs)
Running commands in the foreground/background from the shell: trailing & backgrounds, Ctrl+Z suspends, bg resumes in the background, fg brings to the foreground, jobs lists them.
Prerequisites: Shell (bash)
Journaling
A mechanism that records write operations before performing them, keeping the filesystem consistent through power loss; provided by ext3/ext4/XFS.
Prerequisites: Filesystems and mkfs
Legacy service management (inetd / xinetd / chkconfig)
Pre-systemd service management: inetd/xinetd are super-servers that spawn services on demand (config in /etc/xinetd.d/); chkconfig/service are the legacy RHEL autostart and start/stop tools. Stopping unused services shrinks the attack surface.
Prerequisites: systemd / systemctl
Load average
A system-load metric averaging the number of runnable/running processes; uptime and top show three values (1/5/15 minutes) that you compare against the CPU core count to judge overload.
Locale (LANG / LC_ALL)
A combination of language, region, and encoding (ja_JP.UTF-8); precedence is LC_ALL (forces all) > LC_* (per category) > LANG (default). When scripts parse command output, pin LANG=C (English, byte order) to remove locale variation. Inspect with locale (-a lists). This is internationalization (i18n) and localization (l10n) configuration.
Prerequisites: Character encodings and iconv
logrotate
Automates rotation, compression, and deletion of text logs; the global /etc/logrotate.conf plus per-package /etc/logrotate.d/ define rules like "weekly, keep 4, compress", run periodically.
Prerequisites: Packages and repositories
man (manual)
Displays a command online manual (man ls); man -k keyword (= apropos) finds related commands by keyword.
Open source (OSS)
Software whose source code is published with guaranteed freedom to use, modify, and redistribute (free as in freedom, not price). Not a waiver of rights—it is a copyrighted work imposing terms via a license, provided without warranty and developed continuously.
Prerequisites: source (dot command)
Point-to-point (VPN connection type)
A VPN connection type linking a single client to a single site (or server) one-to-one, as configured with tools like OpenVPN. It differs from site-to-site, which links multiple sites together.
Prerequisites: Locating commands (which/whereis/type)
Account files (/etc/passwd / shadow / group)
Three files holding account data: /etc/passwd has basic user info (world-readable, no real passwords), /etc/shadow the hashed passwords and aging (root-only), /etc/group the groups and members. Verify with id (UID/GID/groups) or getent (via NSS, including LDAP); set passwords with passwd.
Prerequisites: DNS client config (host / dig / resolv.conf)
ping / traceroute (reachability and path)
Tools to isolate network faults by layer: ping (ping6) checks reachability via ICMP, and traceroute/tracepath show each router hop to pinpoint where traffic stops; tracepath needs no privileges and probes MTU.
Prerequisites: PATH
Package group
A bundle of packages selectable by purpose at install time (e.g., a minimal server set, a desktop environment); can be added later as a unit.
Prerequisites: Packages and repositories
SSH port forwarding
Tunneling other traffic through an encrypted SSH tunnel: local forwarding ssh -L local-port:target-host:target-port reaches an internal server (e.g., a DB) behind a firewall via a bastion; remote forwarding (-R) goes the other way.
Prerequisites: Firewall
Process / PID
A process is a running instance of a program, identified by a unique PID. The first to start, PID 1, is systemd (init).
Prerequisites: systemd / systemctl
Process monitoring (top / ps / pstree / uptime)
Commands to inspect running processes and load: top shows live CPU/memory leaders, ps a snapshot (ps aux), pstree the parent-child tree, uptime the uptime and load average.
Related: Load average
rpm (direct RPM handling)
The query-rich low-level tool beneath yum: -qa list all, -qi info, -qR requires, -ql package->files, -qf file->package, -V verify tampering, --checksig signature. Add -p to inspect an uninstalled rpm file. It resolves no dependencies.
Prerequisites: Packages and repositories
Script debugging (bash -x)
Ways to diagnose a misbehaving script: bash -x prints each executed command after variable expansion (an execution trace), and bash -v echoes lines as read.
Prerequisites: Shell (bash)
Socket and port inspection (ss/netstat/netcat)
Inspecting sockets and ports: ss lists sockets (netstat successor; ss -tlnp shows TCP LISTEN with the process), and netcat (nc) tests connections to any port (nc -zv host 443)—separating firewall drops from missing services.
Prerequisites: Firewall
SSH key files (authorized_keys / known_hosts / id_rsa)
Three files for SSH public-key authentication. The private key id_rsa and public key id_rsa.pub are created on the client; the public key is registered in the server authorized_keys. The client known_hosts records the server host key fingerprint and warns of a possible man-in-the-middle attack if it changes.
Related: Host key
HDD / SSD
Mass storage: an HDD is a magnetic disk—cheap and large but with moving parts and slower; an SSD uses flash memory—fast and shock-resistant but with limited write cycles. Optical storage (DVDs) is for distribution/archival.
Prerequisites: Distribution
Special permission bits (SUID/SGID/sticky bit)
Special permission bits: SUID (4000) runs as the file owner (e.g., passwd); SGID (2000) runs as the file group for executables, and on a directory makes new files inherit its group; the sticky bit (1000) lets only a file owner delete it within a directory (e.g., /tmp).
Prerequisites: Permissions and ownership
virsh
A CLI to manage virtual machines via libvirt; virsh start / virsh shutdown start and stop VMs.
Prerequisites: Shutdown and reboot commands (shutdown/reboot/halt/poweroff)
Well-known ports
Default port numbers assigned to major services: 22 SSH, 25 SMTP, 53 DNS, 80 HTTP, 123 NTP, 443 HTTPS.
Prerequisites: SMTP protocol
X management layers (display manager/window manager/desktop environment)
The three X management layers: the display manager (e.g., GDM) provides the graphical login, the window manager handles window frames/movement/stacking, and the desktop environment (GNOME/KDE) bundles the full desktop. startx launches X manually without a display manager.
Prerequisites: Remote GUI (DISPLAY / xauth / X11 forwarding)
yum / dnf (RHEL family)
Repository-based package management on RHEL/CentOS (successor dnf): yum update upgrades packages (index auto-refreshes), plus install/remove/search/info. provides reverse-looks-up the package for a file; yumdownloader only downloads. Repositories are .repo files in /etc/yum.repos.d/, with global settings in /etc/yum.conf.
Prerequisites: Packages and repositories

