>`systemctl` is the CLI tool used to manage `systemd` - `systemd` is the *init system* and service manager for Linux. It's a background process (`PID 1`) that initializes the system and manages services. - `systemctl` is the *command-line interface* (CLI) used to control `systemd`. Think of `systemd` as the **engine**, and `systemctl` as the **steering wheel**. ---
# Common `systemctl` Commands | Command | What it Does | | ------------------------- | -------------------------------------------- | | `systemctl start xyz` | Starts the service immediately | | `systemctl stop xyz` | Stops the service | | `systemctl restart xyz` | Restarts it | | `systemctl enable xyz` | Enables the service to start at boot | | `systemctl status xyz` | Shows the current status | | `systemctl daemon-reload` | Reloads `systemd` config files (after edits) | ---
# vs 👥 User vs System Services | Command Type | Scope | Typical Use | | ------------------ | ----------------------------------------------------- | ----------- | | `systemctl` | **System-wide** services (root or background daemons) | | | `systemctl --user` | **Per-user** services (starts when user logs in) | | Example: ```bash sudo systemctl status caddy systemctl --user status federated-wiki ``` ---
# TL;DR > ✅ **`systemctl` manages services controlled by `systemd`** — it's the official tool to start, stop, enable, and inspect services on modern Linux systems (like Raspberry Pi OS, Ubuntu, Debian, etc.). Let me know if you'd like a visual breakdown or a script that uses `systemctl` to manage your setup across devices.