uname - print name of current system
uname [-S system_name]
The uname utility prints information about the current sys-
tem on the standard output. When options are specified, sym-
bols 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:
-a Prints basic information currently available from the
-i Prints the name of the hardware implementation (plat-
-m Prints the machine hardware name (class). Use of this
option is discouraged; use uname -p instead. See NOTES
-n Prints the nodename (the nodename is the name by which
the system is known to a communications network).
-p Prints the current host's ISA or processor type.
-r Prints the operating system release level.
-s Prints the name of the operating system. This is the
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.
-v Prints the operating system version.
-X 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
o OEM# and Origin# (set to 0 and 1, respectively)
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, and NLSPATH.
SYSV3 This variable is used to override the default behavior
of uname. This is necessary to make it possible for
some INTERACTIVE UNIX Systems and SCO UNIX programs
and scripts to work properly. Many scripts use uname
to determine the SYSV3 type or the version of the OS
to ensure software is compatible with that OS. Setting
SYSV3 to an empty string will make uname print the
following default values:
nodename nodename 3.2 2 i386
The individual elements that uname displays can also
be modified by setting SYSV3 in the following format:
os Operating system (IUS or SCO).
node Nodename as displayed by the -n option.
rel Release level as displayed by the -r option.
ver Version number as displayed by the -v option.
mach Machine name as displayed by -m option.
Do not put spaces between the elements. If an element is
omitted, the current system value will be used.
The following exit values are returned:
0 Successful completion.
>0 An error occurred.
See attributes(5) for descriptions of the following attri-
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| Availability | SUNWcsu |
| 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
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
Man(1) output converted with