我一直认为 posix 标准中定义的任何东西都会出现在最常见的 Linux 发行版上。
然而,当我查看 posix 标准中哪些实用程序是标准的时,我发现这个页面有一个很长的列表。
在尝试了一些我没有听说过的东西之后,我很快注意到很多东西似乎没有安装在我的系统上。
也许这些实用程序只是名称不同?例如c99
,我的系统上没有,但我有cc
我认为可以编译为c99
.
我尝试过但似乎不在我的系统上的其他实用程序:
what
uux
qalter
renice
sact
我只尝试了一些看起来不熟悉的命令,但我猜我的系统上没有更多的命令。
这些是可选的实用程序吗?
是的,其中许多是可选的:
what
并且sact
是 SCCS 的一部分(一个旧的 VCS,POSIX 中 XSI Development Utilities 选项的一部分)uux
是 UUCP 的一部分(在 POSIX 中是可选的,在许多发行版中仍然可用,例如 Debian)qalter
是批处理环境服务的一部分,是 POSIX 的可选部分renice
应该存在于大多数系统上;在 Debian 中,它是 的一部分bsdutils
,它是应该始终存在的核心软件包之一。就 POSIX 而言,renice
在第 6 期中是可选的,但在第 7 期中它是 Base 的一部分。至少在某些发行版(Debian 10、Fedora 31)上,安装 GCC 会导致
c99
命令可用。如果您的目标是一致性,则需要确保安装所需的软件包,用于 Base 和您声明的任何选项。命令名称旁边的“标签”([UU]、[XSI]、[BE] 等)链接到有关它们对应的要求的信息。