Utility software is software that supports managing the computer infrastructure including computer hardware, system software and application software. Utility software provides for performing tasks as a system administrator (that is, as a user acting in that role). In contrast, application software provides for performing tasks as an end user.
A utility may be a distinct program, or multiple utilities are implemented in a single program. For example, BusyBox implements many utilities in a single program. Commonly, a utility provides a command-line interface, but some provide a graphical user interface.
Although an operating system (OS) installation usually includes utilities (which are considered part of the OS), users often install additional utilities. The additional utilities may provide a better user experience or additional functionality.
Often, a user must be authorized for elevated privileges to use a utility since it may affect other users of the system.
This section is a taxonomy of kinds of utilities.