“systemctl list-units”的 [PATTERN] 参数是什么

“systemctl list-units”的 [PATTERN] 参数是什么

systemctl 的手册页说:

单位命令

list-units [PATTERN...]

    列出已知单位(受 指定的限制的约束 -t)。如果有一个或多个PATTERNs 已指定,则仅显示与其中之一匹配的单位。

    这是默认命令。

我的问题是,这是什么意思[PATTERN]

当我执行时systemctl list-units,我得到一个相对较长的已加载单元列表。但是如果我添加第三个参数,我会收到一条错误消息所以我很好奇哪些参数对于手册页中列出的参数Too many arguments.  有效。[PATTERN]

(我运行的是 Arch Linux,并且 systemd 版本为 227。)

答案1

来自同一页面:

参数语法

上面列出的单元命令采用单个单元名称(指定为 NAME)或多个单元规范(指定为 PATTERN...)。在第一种情况下,[...]

在第二种情况下,shell 样式的 glob 将与当前加载的单元进行匹配;文字单位名称,无论带或不带后缀,都将被视为第一种情况。这意味着字面量单位名称始终精确地引用一个单位,但 glob 可能匹配零个单位,并且这不被视为错误。

全局模式的使用匹配(3),因此使用正常的 shell 式通配规则,并且可以使用“ *”、“ ?”、“ ”。[]全局(7) 更多细节。这些模式与当前加载的单元的名称进行匹配,不匹配任何内容的模式将被静默跳过。例如:

# systemctl stop sshd@*.service

将停止所有[email protected]实例。

答案2

看起来星号必须经过 shell 转义

# systemctl stop sshd@\*.service

相关内容