Abstract This standard defines a standard operating system interface and environment, including a command interpreter (or shell), and common utility programs to support applications portability at the source code level. It is the single common revision to IEEE Std 1003.1-1996, IEEE Std 1003.2-1992, and the Base Specifications of The Open Group Single UNIX. Specification, Version 2. This standard is intended to be used by both applications developers and system implementors and comprises four major components (each in an associated volume): General terms, concepts, and interfaces common to all volumes of this standard, including utility conventions and C-language header definitions, are included in the Base Definitions volume. Definitions for system service functions and subroutines, language-specific system services for the C programming language, function issues, including portability, error handling, and error recovery, are included in the System Interfaces volume. Definitions for a standard source code-level interface to command interpretation services (a shell) and common utility programs for application programs are included in the Shell and Utilities volume. Extended rationale that did not fit well into the rest of the document structure, containing historical information concerning the contents of this standard and why features were included or discarded by the standard developers, is included in the Rationale (Informative) volume. The following areas are outside the scope of this standard: Graphics interfaces ¡E Database management system interfaces, Record I/O considerations, Object or binary code portability, System configuration and resource availability. This standard describes the external characteristics and facilities that are of importance to applications developers, rather than the internal construction techniques employed to achieve these capabilities. Special emphasis is placed on those functions and facilities that are needed in a wide variety of commercial applications.