Skip to content

Reference

Reference pages describe the machinery: commands, configuration files, unit and service directives, protocols and port numbers. They are neutral, consistent in layout, and cite the upstream sources and versions they were checked against.

Use reference pages when you're working and need a fact. For background and reasoning, see Explanation.

Foundations

  • File permissions and modes: Permission bits, octal and symbolic modes, special bits, the umask, the commands that change ownership and modes, and POSIX ACLs on Linux.

Boot and init

  • systemd unit directives: The most-used directives of the [Unit], [Service] and [Install] sections of systemd unit files, where unit files live, their precedence, and drop-in overrides.

Software management

  • Package manager commands: Equivalent apt, dnf, pacman and emerge commands for searching, inspecting, installing, removing and upgrading packages, querying files, cleaning caches and reading history.
  • Repository configuration: Where each package manager is told which repositories to use, the key fields of sources.list and deb822 files, .repo files, pacman.conf and the mirror list, repos.conf and binrepos.conf, and where signing keys live.

Storage

  • /etc/fstab: The fields, device identifiers, mount options and boot-time handling of the static filesystem table.

Processes and performance

  • Common sysctl parameters: Commonly tuned kernel parameters under /proc/sys, what each controls, and the values observed by default on each supported distribution.
  • Process information fields: The ps and top columns most used for process diagnostics, process state codes, and the per-process files under /proc.
  • Signals: Linux signals on x86-64 with their numbers, default actions and typical uses, and the commands that send and list them.

Networking fundamentals

  • ip, ss and nmcli: Command structure, key options and filters of ip and ss from iproute2, and the core nmcli commands of NetworkManager.

Network services

Network security

  • nftables syntax: The nft command, address families, tables, chains, rules, matches, statements, sets and maps, and the ruleset file format.

Host security and hardening

  • PAM configuration: Linux-PAM configuration files per distribution, the line syntax, control values and actions, and the options of the common modules for passwords, lockouts, password quality and resource limits.
  • Audit rules: Syntax of Linux audit rules (control, file and system call rules, fields and keys), how rules are loaded on each distribution, and the options for searching and reporting on the audit log.

Logging, monitoring and observability

  • Syslog facilities and priorities: Syslog facility and severity codes, the selector syntax of syslog.conf and rsyslog, the default rules of each distribution family, and the logger command.
  • journalctl: Options of journalctl for selecting, filtering, formatting and maintaining the systemd journal, with match syntax, time and boot specifications, and journald's storage settings.
  • logrotate directives: The logrotate command and its configuration directives for frequency, retention, file handling, compression, naming and scripts, with each distribution family's default configuration and schedule.

Troubleshooting

  • Diagnostic commands by layer: A cheat sheet of Linux diagnostic commands for each network layer, plus processes and logs, with the package that provides each tool on every supported distribution.

Automation and configuration management

  • crontab syntax: The crontab line format, special strings and environment variables, user and system crontabs, the crontab command, and the cron files and directories on each distribution family.
  • systemd timer directives: The [Timer] section of systemd timer units, calendar event and time span syntax, and the commands that list, test and inspect timers.