UNAME(1) User Commands UNAME(1)


uname - print name of current system


uname [-aimnprsvX]

uname [-S system_name]


The uname utility prints information about the current system on the
standard output. When options are specified, symbols representing one or
more system characteristics will be written to the standard output. If no
options are specified, uname prints the current operating system's name.
The options print selected information returned by uname(2), sysinfo(2),
or both.


The following options are supported:

Prints basic information currently available from the

Prints the name of the platform.

Prints the machine hardware name (class). Use of this
option is discouraged. Use uname -p instead. See NOTES
section below.

Prints the nodename (the nodename is the name by which
the system is known to a communications network).

Prints the current host's ISA or processor type.

Prints the operating system release level.

Prints the name of the operating system. This is the

-S system_name
The nodename may be changed by specifying a system name
argument. The system name argument is restricted to
SYS_NMLN characters. SYS_NMLN is an implementation
specific value defined in <sys/utsname.h>. Only the
super-user is allowed this capability. This change does
not persist across reboots of the system. Use sys-
unconfig(1M) to change a host's name permanently.

Prints the operating system version.

Prints expanded system information, one information
element per line, as expected by SCO UNIX. The
displayed information includes:

o system name, node, release, version,
machine, and number of CPUs.

o BusType, Serial, and Users (set to "unknown"
in Solaris)

o OEM# and Origin# (set to 0 and 1,


Example 1: Printing the OS name and release level

The following command:

example% uname -sr

prints the operating system name and release level, separated by one
SPACE character.


See environ(5) for descriptions of the following environment variables
that affect the execution of uname: LANG, LC_ALL, LC_CTYPE, LC_MESSAGES,


The following exit values are returned:

Successful completion.

An error occurred.


See attributes(5) for descriptions of the following attributes:

|Interface Stability | Standard |


arch(1), isalist(1), sys-unconfig(1M), sysinfo(2), uname(2), nodename(4),
attributes(5), environ(5), standards(5)


Independent software vendors (ISVs) and others who need to determine
detailed characteristics of the platform on which their software is
either being installed or executed should use the uname command.

To determine the operating system name and release level, use uname -sr.
To determine only the operating system release level, use uname -r.
Notice that operating system release levels are not guaranteed to be in
x.y format (such as 5.3, 5.4, 5.5, and so forth); future releases could
be in the x.y.z format (such as 5.3.1, 5.3.2, 5.4.1, and so forth).

In SunOS 4.x releases, the arch(1) command was often used to obtain
information similar to that obtained by using the uname command. The
arch(1) command output "sun4" was often incorrectly interpreted to
signify a SunOS SPARC system. If hardware platform information is
desired, use uname -sp.

The arch -k and uname -m commands return equivalent values; however, the
use of either of these commands by third party programs is discouraged,
as is the use of the arch command in general. To determine the machine's
Instruction Set Architecture (ISA or processor type), use uname with the
-p option.

April 14, 2016 UNAME(1)