有没有简单的方法来列出所有systemd被屏蔽的单位?
我能想到:
ls -l /etc/systemd/system/* | grep /dev/null
或(仅限于单元名称):
ls -l /etc/systemd/system/* | grep /dev/null | cut -d' ' -f12 | awk -F'/' '{ print $(NF) }'
有没有更清晰的方法?
我认为获取这些信息的最好方法可能是:
systemctl list-unit-files | grep masked
或者,对于单位名称:
systemctl list-unit-files | awk '/masked/ {print $1}'
当然,这些表达式中的任何一个实际上都会匹配名称中包含“掩码”的单位。 更准确的是:
systemctl list-unit-files | awk '$2 == "masked" {print $1}'
--state
选项可以完成这项工作
systemctl list-unit-files --state=masked
在你的情况下,答案相当不错。
如何使用Systemctl来管理系统服务和单位