Unix
Unix today is a trademark. Historically it was an operating system from AT&T's Bell Labs (1969), then a family of operating systems descended from the original AT&T Unix. Now, to legally call your OS "Unix", you need trademark certification from The Open Group.
macOS is certified Unix.
Unix-like
Unix-like means implementing the Unix interface:
- Hierarchical file system rooted at /
- Everything is a file (devices, sockets, pipes)
- Text streams for input/output
- Pipes to compose programs
- A shell for scripting and interaction
- The standard utilities (grep, sed, awk, cat, ls...)
- Fork/exec process model
- User/group permissions
Linux is Unix-like. It's not Unix™, but it's Unix in the ways that matter.
POSIX
POSIX (Portable Operating System Interface) is the IEEE standard that defines what "Unix-like" means technically. It specifies the system calls, shell behavior, and utilities that make Unix Unix. If your OS is POSIX-compliant, code written for Unix will run on it.
How they relate
- Unix is the origin and the trademark
- POSIX is the specification that captured what Unix is
- Unix-like means "POSIX-compliant, spiritually Unix, but not branded"
The original Unix operating system died; the philosophy survived. See The world Unix made.