{{Short description| Software that supports computer infrastructure}}
'''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.<ref>{{cite news |title=Non-Opec (advertisement) |url=https://books.google.com/books?id=ZIfqFFpyXo8C&pg=PA3 |access-date=May 20, 2019 |agency=Computerworld |date=Sep 3, 1979}}</ref><ref>{{cite news |last1=Mendelson |first1=Edward |title=Fix What Ails Your PC |url=https://books.google.com/books?id=XrdgwdYfGrUC&pg=PA60 |access-date=May 20, 2019 |agency=PC Magazine |date=June 8, 1999}}</ref> 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.<ref>{{cite web |title=Linux ifconfig command |url=https://www.computerhope.com/unix/uifconfi.htm |website=Computer Hope |access-date=May 20, 2019}}</ref>
==Taxonomy== This section is a taxonomy of kinds of utilities.
===System management=== ; Antivirus: Protects the host system from computer viruses. ; Clipboard manager: Expands clipboard functionality. ; Computer access control: Grants or denies requests for access to system resources. ; Debugger: Provides for programming-level control of program execution including the examination and modification of program data. ; Diagnostic: Determines and reports the operational status of computer hardware and software. For example, a memory tester. ; Network: Analyzes the host system's network connectivity, configures network settings, reports data transfer and log events. ; Package manager: Configures, installs and updates software on the host system. ; Registry cleaner: Cleans and optimizes the Windows Registry by removing old registry keys that are no longer in use. ; System monitor: Monitors resources and performance of the host system. ; System profiler: Reports information about installed software and hardware.
===Storage device management=== ; Backup: Copies data from a storage device for the purpose of recovering from data loss due to events such as disk failure, file corruption or accidental deletion. ; Disk checker: Checks a disk for problems. ; Disk cloning: Duplicates the content of a disk. ; Disk compression: Transparently compress/uncompress the content of a disk, increasing the capacity of the disk. ; Disk defragmenter: Reorganizes the data of each file so that it is stored contiguously. ; Disk formatter: Writes to a disk so that it can be used for a particular format. Can prepare a disk for initial use or erase the entire disk. ; Disk partitioner: Divides an disk into multiple logical drives, each with its own file system which can be mounted by the operating system. ; Disk space analyzer: Visualizes disk space use for each file and directory. ; Tape initializer: Writes a label to a magnetic tape or other magnetic medium.<ref>Initializers for DECtape format the tape into blocks.</ref> ; Undelete: Supports recovering files that were deleted.
===File management=== ; Archiver: Outputs a stream or a single file when provided with a directory or a set of files. Archive ''suites'' may include compression and encryption capabilities. Some archive utilities have a separate un-archive utility for the reverse operation. One nearly universal type of archive file format is the zip file. ; Cryptographic: Encrypts and decrypts streams and files. ; Data compression: Outputs a shorter stream or a smaller file when provided with a stream or file. ; Data conversion: Transforms data from a source file to some other format, such as from a text file to a PDF document. ; Data recovery: Recovers data from corrupted files. ; Data synchronization: Establishes consistency among data from a source to a target data storage and vice versa. ; Disk cleaner: Deletes files that are unnecessary to computer operation, or take up considerable amounts of space. ; File comparison: Reports differences between files. ; File manager: Provides an interface for performing file management tasks such as deleting, renaming, cataloging, moving, copying, merging, setting file access, creating and modifying directories. ; File synchronization: Maintains consistency between two storages for various purposes including redundancy and backup. ; Revision control: Manages revisions of files.
===Miscellaneous=== ; Data generator: Creates a file of test data according to specified patterns. For example, IEBDG. ; Hex editor: Allows for editing the data of a file without regard its format. ; HTML checker: Validates HTML code and checks links. ; Installation or setup: Initializes or configures programs, usually applications programs, for use in a specific computer environment. An uninstaller does the opposite. ; Macro recorder: Permits use of keyboard macros in programs that do not natively support such a feature. ; Patching: Modifies files, especially object programs when program source is unavailable. ; Screensaver: Controls the host monitor with the intention of preventing phosphor burn-in on CRT and plasma monitors. ; Sort/Merge program: Arranges records (usually lines) of a file into a specified sequence.
==See also== *Batch file *kdeutils *List of DOS commands *List of macOS built-in apps *List of POSIX commands *Shell script *Support programs for OS/360 and successors *System software
==References== {{Reflist}}
{{Authority control}}
Category:Utility software