LinuC Level 1 Exam 102 — knowledge map
The 42 core concepts of LinuC Level 1 Exam 102 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 (42)
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: PATH
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.
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
ICMP
A protocol for control and diagnostic messages rather than data transfer. It powers ping (reachability checks) and traceroute (path checks), and carries unreachable/TTL-exceeded notifications—essential for diagnosing network connectivity issues.
Prerequisites: PATH
Related: ping / traceroute (reachability and path)、Port number
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
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)
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).
Port number
A 16-bit number identifying which service is running on a given IP address (e.g., HTTP uses 80, HTTPS uses 443, SSH uses 22). Carried in TCP/UDP headers, and firewall/security-group rules allow or deny traffic based on source/destination port.
Prerequisites: IP address (IPv4 / IPv6)、source (dot command)
Related: ICMP
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).
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)
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)
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
Related: ICMP
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)
CIDR notation
A notation expressing an IP address range by prefix length, like “/24” (256 addresses) or “/16” (65,536 addresses)—the smaller the number, the larger the range. It underlies network design across every cloud: sizing VPCs/VNets and subnets, longest-prefix-match routing, and scoping firewall-rule allows.
Prerequisites: IP address (IPv4 / IPv6)
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)
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)
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.
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)
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
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.
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)
Well-known ports
Default port numbers assigned to major services: 22 SSH, 25 SMTP, 53 DNS, 80 HTTP, 123 NTP, 443 HTTPS.
Prerequisites: Port number
Subnet mask
A value marking the boundary between the network and host portions of an IP address (e.g., 255.255.255.0)—the dotted-decimal counterpart to a CIDR prefix length, still used in on-prem network gear and some cloud configuration screens.
Prerequisites: IP address (IPv4 / IPv6)、CIDR notation
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).
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)
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
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
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: Copyleft and permissive
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: Shell (bash)
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)
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)
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: Shell (bash)
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: systemd / systemctl
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: Shell (bash)
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.
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
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)
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: systemd / systemctl
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.
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)
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.

