UNAME(1) General Commands Manual UNAME(1)
NAME
uname – display information about the system
SYNOPSIS
uname [-amnoprsv]
DESCRIPTION
The uname command writes the name of the operating system implementation
to standard output. When options are specified, strings representing one
or more system characteristics are written to standard output.
The options are as follows:
-a Behave as though the options -m, -n, -r, -s, and -v were
specified.
-m Write the type of the current hardware platform to standard
output. (make(1) uses it to set the MACHINE variable.)
-n Write the name of the system to standard output.
-o This is a synonym for the -s option, for compatibility with other
systems.
-p Write the type of the machine processor architecture to standard
output. (make(1) uses it to set the MACHINE_ARCH variable.)
-r Write the current release level of the operating system to
standard output.
-s Write the name of the operating system implementation to standard
output.
-v Write the version level of this release of the operating system
to standard output.
If the -a flag is specified, or multiple flags are specified, all output
is written on a single line, separated by spaces.
ENVIRONMENT
An environment variable composed of the string UNAME_ followed by any
flag to the uname utility (except for -a) will allow the corresponding
data to be set to the contents of the environment variable.
The -m, -n, -r, -s, and -v variables additionally have long aliases that
have historically been honored on MacOS, “UNAME_MACHINE”,
“UNAME_NODENAME”, “UNAME_RELEASE”, “UNAME_SYSNAME”, and “UNAME_VERSION”
respectively. These names have a higher priority than their shorter
counterparts described in the previous paragraph.
See uname(3) for more information.
EXIT STATUS
The uname utility exits 0 on success, and >0 if an error occurs.
EXAMPLES
The hardware platform (-m) can be different from the machine's processor
architecture (-p), e.g., on 64-bit PowerPC, -m would return powerpc and
-p would return powerpc64.
SEE ALSO
hostname(1), machine(1), sw_vers(1), sysctl(3), uname(3), sysctl(8)
STANDARDS
The uname command is expected to conform to the IEEE Std 1003.2
(“POSIX.2”) specification.
HISTORY
The uname command appeared in PWB UNIX 1.0, however 4.4BSD was the first
Berkeley release with the uname command.
The -K and -U extension flags appeared in FreeBSD 10.0. The -b extension
flag appeared in FreeBSD 13.0.
macOS 15.2 November 13, 2020 macOS 15.2