简而言之,为什么systemctl list-units
不列出poweroff.target
orreboot.target
却systemctl list-unit-files
列出呢? .target 文件位于/lib/systemd/system
文件夹中;systemctl cat poweroff.target
并systemctl cat reboot.target
显示单元内容。systemd.special(7)
描述它们并指出它们是特殊单位。那么,比方说,一个出现在 list-units 命令中poweroff.target
而multi-user.target
另一个没有出现的区别是什么?
答案1
简而言之,因为它们不活动和/或禁用。
systemctl list-units
默认情况下仅列出活动单位。当系统运行时,poweroff
和reboot
目标不处于活动状态,因此不会列出它们。您可以添加-a
以查看所有启用的单位,这将添加一些特殊目标(但不一定是全部;在我的系统上,poweroff
已禁用)。
systemctl list-unit-files
列出文件系统中所有已安装的单元,无论其状态如何。这意味着它也列出了禁用的单位(但不列出生成的单位)。
(这两个命令在它们输出的页脚中对此进行了简要描述。)