POSIX (Portable Operating System Interface) is a family of IEEE standards that specify a common application programming interface and command-line environment for Unix-like operating systems. The name, suggested by Richard Stallman, was chosen to replace the more awkward "IEEEIX". POSIX defines system calls (such as open, read, write, fork), C library functions, a shell language based on the Bourne shell, and the behaviour of standard utilities like grep, sed, awk, and find.
POSIX emerged in the late 1980s from a desire to make Unix programs portable across the many competing Unix variants of the era—AT&T System V, BSD, SunOS, HP-UX, AIX, IRIX, and others. By agreeing on a baseline interface, vendors could reassure customers that software written for one system would run on another. Linux, though never formally certified, is largely POSIX-compliant, and writing to POSIX remains a reliable strategy for cross-Unix portability.
For the working Linux user, POSIX is mostly invisible but deeply influential. When you write a shell script using #!/bin/sh and stick to the standardised features, you are writing POSIX shell, which should run on any compliant system. When documentation refers to "POSIX regular expressions" as distinct from Perl-compatible ones, it means the older, simpler regex syntax defined by the standard. POSIX is why Linux, macOS, BSD, and Solaris all feel broadly alike at the terminal.
Also defined in: Textbook of Linux