For some reason, when it comes to POSIX, I always have a hard time finding the full scoop.

For example, the POSIX docs (here and here) refer to "mandatory utilities", but I can't find any listing of such utilities.

Is there one somewhere in the POSIX docs?

Granted, the links given above point to older version of the docs. It is possible that the nomenclature has changed since then. (E.g., maybe what used to be called "mandatory utilities" are now called "required utilities", or "obligatory utilities", or "core utilities", etc.) Or maybe the mandatory/optional distinction has been dropped altogether? Clarifications welcome.


From one of the sections that you cite:

Optional utilities that are present only on systems supporting the associated option; see Codes for information on the options in this volume of IEEE Std 1003.1-2001

The mandatory utilities are the ones that are not marked as optional.

For example basename has no annotation to indicate that it's optional, so it's mandatory. alias is annotated as UP, so it's only mandatory if an implementation claims to include the User Portability Utilities option. command is mandatory, but the -v and -V options are not unless the implementation claims to include the User Portability Utilities option.


All utilities are mandatory except when they are marked special.

Look e.g. at the documentation for the get command that is maked with the "Development" tag.

Check e.g. Chapter 1.7.1 and look for the tag "optional".

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.