systemd 用 Target 替代 SysV 运行级别;用 systemctl get-default 查默认 Target(如 graphical.target),用 systemctl list-units --type=target --state=active 查当前激活 Target;runlevel3.target 对应 multi-user.target,runlevel5.target 对应 graphical.target;systemctl isolate 可临时切换 Target。

在 systemd 系统中,没有传统 SysV 的“运行级别”(runlevel)概念,而是用 Target 来替代。查询当前默认 Target,本质是查系统启动时默认进入的 Target 单元。
查看当前默认 Target(开机默认启动目标)
执行以下命令即可直接显示默认 Target:
systemctl get-default
输出通常是 graphical.target 或 multi-user.target,分别对应带图形界面和纯命令行的默认启动模式。
确认当前实际激活的 Target
默认 Target 不一定等于当前运行状态。要查此刻系统实际处于哪个 Target,运行:
systemctl list-units --type=target --state=active
或更简洁地:
监控 Victron Energy 电力系统,生成包含电池状态、光伏发电量和活动警报的精美每日邮件报告。集成 Vic...
systemctl status | grep "Started.*target"
这会显示当前已激活的 Target,比如 graphical.target —— 表示图形环境已就绪。
理解常见 Target 与旧 runlevel 的对应关系
虽然 systemd 不用 runlevel,但为兼容性保留了 runlevel?.target 别名。例如:
-
runlevel0.target→poweroff.target(关机) -
runlevel3.target→multi-user.target(多用户命令行) -
runlevel5.target→graphical.target(图形界面)
可用 systemctl show -p Wants default.target 查看默认 Target 的依赖链,进一步确认其行为。
临时切换 Target(不修改默认值)
如需立即进入某 Target(比如切到命令行模式),可运行:
systemctl isolate multi-user.target
该操作不会改变默认 Target,仅本次生效;重启后仍按 get-default 的结果启动。

















