21.4 uname: Print system information
uname prints information about the machine and operating system
it is run on. If no options are given, uname acts as if the
-s option were given. Synopsis:
uname [option]...
If multiple options or -a are given, the selected information is
printed in this order:
kernel-name nodename kernel-release kernel-version
machine processor hardware-platform operating-system
The information may contain internal spaces, so such output cannot be
parsed reliably. In the following example, release is
‘2.2.18ss.e820-bda652a #4 SMP Tue Jun 5 11:24:08 PDT 2001’:
uname -a
⇒ Linux dum 2.2.18 #4 SMP Tue Jun 5 11:24:08 PDT 2001 i686 unknown unknown GNU/Linux
The program accepts the following options. Also see Common options.
- ‘-a’
- ‘--all’
- Print all of the below information, except omit the processor type
and the hardware platform name if they are unknown.
- ‘-i’
- ‘--hardware-platform’
- Print the hardware platform name
(sometimes called the hardware implementation).
Print ‘unknown’ if the kernel does not make this information
easily available, as is the case with Linux kernels.
- ‘-m’
- ‘--machine’
- Print the machine hardware name (sometimes called the hardware class
or hardware type).
- ‘-n’
- ‘--nodename’
- Print the network node hostname.
- ‘-p’
- ‘--processor’
- Print the processor type (sometimes called the instruction set
architecture or ISA).
Print ‘unknown’ if the kernel does not make this information
easily available, as is the case with Linux kernels.
- ‘-o’
- ‘--operating-system’
- Print the name of the operating system.
- ‘-r’
- ‘--kernel-release’
- Print the kernel release.
- ‘-s’
- ‘--kernel-name’
- Print the kernel name.
POSIX 1003.1-2001 (see Standards conformance) calls this
“the implementation of the operating system”, because the
POSIX specification itself has no notion of “kernel”.
The kernel name might be the same as the operating system name printed
by the -o or --operating-system option, but it might
differ. Some operating systems (e.g., FreeBSD, HP-UX) have the same
name as their underlying kernels; others (e.g., GNU/Linux, Solaris)
do not.
- ‘-v’
- ‘--kernel-version’
- Print the kernel version.
An exit status of zero indicates success,
and a nonzero value indicates failure.