uname - Linux
Overview
The uname
command in Linux displays information about the system on which it is run. This command is primarily used to reveal details about the kernel name, hardware, processor, operating system, and more. It is especially useful for system diagnostics and during installations or system upgrades.
Syntax
The basic syntax of the uname
command is as follows:
uname [OPTION]...
Options/Flags
uname
provides several options that control which system information is displayed:
-a, --all
: Displays all available information (equivalent to providing-snrvmo
).-s, --kernel-name
: Displays the kernel name.-n, --nodename
: Shows the network node hostname.-r, --kernel-release
: Displays the kernel release.-v, --kernel-version
: Displays the kernel version.-m, --machine
: Shows the machine hardware name.-p, --processor
: Displays the processor type (may showunknown
on some systems where it is not applicable).-i, --hardware-platform
: Provides the hardware platform (also can beunknown
).-o, --operating-system
: Displays the operating system.
Examples
-
Basic Usage:
uname -s
This command outputs the kernel name.
-
Display All Information:
uname -a
Shows all details about the kernel, machine, processor, and the operating system in a single command.
-
Combining Two Options:
uname -sr
Outputs the kernel name followed by the kernel release.
Common Issues
-
Incorrect Option Handling: Users often misspell or use unsupported options which can result in an error:
uname: invalid option -- 'x'
. Always check the available options usinguname --help
. -
Hardware Platform Indeterminate: On some systems,
-i
or-p
may returnunknown
because the information might not be applicable or available. There isn’t a specific fix to this, as it depends on system architecture and kernel support.
Integration
uname
can be combined with other commands for scripting and system monitoring. For instance:
echo "$(uname -r) running on $(uname -m)" >> system_info.txt
This script will append the kernel release and machine hardware name to a file called system_info.txt
which can be useful for logging system info over time.
Related Commands
hostname
: Shows or sets the system’s host name.arch
: Displays machine hardware name (similar touname -m
).uptime
: Tells how long the system has been running along with load averages.
For further reading and more details, refer to the Linux man pages or the GNU Coreutils: [GNU Coreutils documentation](https://www.gnu.org/software/coreutils/manual/coreutils.html)
.
With uname
, you can quickly ascertain key system information which is crucial for troubleshooting, system upgrades, or even for development purposes.