Glossary

POSIX

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.

Related terms: Unix, Linux, BSD, Shell

Also defined in: Textbook of Linux