Linux uname命令是一个用于显示系统信息的简单工具,你可以使用它来获取有关操作系统和硬件平台的基本信息,例如处理器架构、系统主机名和内核版本等。在本文中,我们将介绍Linux uname命令的用法和选项,并给出一些实用的示例。
Linux uname命令介绍
uname命令的全称是UNIX name,它是一个标准的POSIX命令,可以在大多数的UNIX和类UNIX系统上运行,包括Linux、macOS、FreeBSD等。uname命令可以用于故障排除、检查系统升级、编写脚本和监控目的。你也可以使用uname命令来检查内核的发布日期、版本号和硬件架构(32位或64位)等。
Linux uname命令适用的Linux版本
uname命令是一个通用的命令,它可以在多数Linux发行版(如Debian、Ubuntu、Alpine、Arch Linux、Kali Linux、RedHat/CentOS、Fedora、Raspbian)的主要终端命令解释器(包括bash、zsh、csh、ksh、fish、tcsh)中使用,无需安装任何额外的软件包。你可以在终端中输入uname命令来查看它的用法和版本信息:
[linux@bashcommandnotfound.cn ~]$ uname --help
Usage: uname [OPTION]...
Print certain system information. With no OPTION, same as -s.
-a, --all print all information, in the following order,
except omit -p and -i if unknown:
-s, --kernel-name print the kernel name
-n, --nodename print the network node hostname
-r, --kernel-release print the kernel release
-v, --kernel-version print the kernel version
-m, --machine print the machine hardware name
-p, --processor print the processor type (non-portable)
-i, --hardware-platform print the hardware platform (non-portable)
-o, --operating-system print the operating system
--help display this help and exit
--version output version information and exit
GNU coreutils online help: <https://www.gnu.org/software/coreutils/>
Full documentation <https://www.gnu.org/software/coreutils/uname>
or available locally via: info '(coreutils) uname invocation'
[linux@bashcommandnotfound.cn ~]$ uname --version
uname (GNU coreutils) 8.32
Packaged by Gentoo (8.32 (p1))
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by David MacKenzie.
Linux uname命令的基本语法
uname命令的基本语法如下:
uname [OPTION]...
其中,OPTION参数可以用来指定需要显示的系统信息的类型。如果不指定任何选项,uname命令默认会显示内核名称。你可以使用多个选项来组合输出不同的信息。
Linux uname命令的常用选项说明
uname命令有以下常用的选项:
选项 | 描述 |
---|---|
-a, --all | 显示所有可用的系统信息,包括内核名称、主机名、内核版本、硬件名称、处理器类型、硬件平台和操作系统等 |
-s, --kernel-name | 显示内核名称 |
-n, --nodename | 显示网络节点的主机名 |
-r, --kernel-release | 显示内核的发布版本 |
-v, --kernel-version | 显示内核的版本号 |
-m, --machine | 显示机器的硬件名称 |
-p, --processor | 显示处理器的类型(非标准的) |
-i, --hardware-platform | 显示硬件平台的名称(非标准的) |
-o, --operating-system | 显示操作系统的名称 |
Linux uname命令的实例
下面是一些使用uname命令的实例:
显示内核名称
如果不使用任何选项,或者使用-s或--kernel-name选项,uname命令会显示内核的名称:
[linux@bashcommandnotfound.cn ~]$ uname
Linux
[linux@bashcommandnotfound.cn ~]$ uname -s
Linux
[linux@bashcommandnotfound.cn ~]$ uname --kernel-name
Linux
显示主机名
使用-n或--nodename选项,uname命令会显示网络节点的主机名:
[linux@bashcommandnotfound.cn ~]$ uname -n
bashcommandnotfound.cn
[linux@bashcommandnotfound.cn ~]$ uname --nodename
bashcommandnotfound.cn
显示内核版本
使用-r或--kernel-release选项,uname命令会显示内核的发布版本:
[linux@bashcommandnotfound.cn ~]$ uname -r
5.10.61-gentoo
[linux@bashcommandnotfound.cn ~]$ uname --kernel-release
5.10.61-gentoo
显示内核版本号
使用-v或--kernel-version选项,uname命令会显示内核的版本号,包括编译日期和编译器版本等:
[linux@bashcommandnotfound.cn ~]$ uname -v
#1 SMP Wed Sep 8 15:32:02 CST 2021
[linux@bashcommandnotfound.cn ~]$ uname --kernel-version
#1 SMP Wed Sep 8 15:32:02 CST 2021
显示硬件名称
使用-m或--machine选项,uname命令会显示机器的硬件名称,通常是处理器的架构:
[linux@bashcommandnotfound.cn ~]$ uname -m
x86_64
[linux@bashcommandnotfound.cn ~]$ uname --machine
x86_64
显示处理器类型
使用-p或--processor选项,uname命令会显示处理器的类型,这个选项是非标准的,可能在不同的系统上显示不同的结果,或者显示unknown:
[linux@bashcommandnotfound.cn ~]$ uname -p
unknown
[linux@bashcommandnotfound.cn ~]$ uname --processor
unknown
显示硬件平台
使用-i或--hardware-platform选项,uname命令会显示硬件平台的名称,这个选项也是非标准的,可能在不同的系统上显示不同的结果,或者显示unknown:
[linux@bashcommandnotfound.cn ~]$ uname -i
unknown
[linux@bashcommandnotfound.cn ~]$ uname --hardware-platform
unknown
显示操作系统
使用-o或--operating-system选项,uname命令会显示操作系统的名称:
[linux@bashcommandnotfound.cn ~]$ uname -o
GNU/Linux
[linux@bashcommandnotfound.cn ~]$ uname --operating-system
GNU/Linux
显示所有系统信息
使用-a或--all选项,uname命令会显示所有可用的系统信息,按照以下顺序:内核名称、主机名、内核版本、内核版本号、硬件名称、处理器类型、硬件平台和操作系统:
[linux@bashcommandnotfound.cn ~]$ uname -a
Linux bashcommandnotfound.cn 5.10.61-gentoo #1 SMP Wed Sep 8 15:32:02 CST 2021 x86_64 unknown unknown GNU/Linux
[linux@bashcommandnotfound.cn ~]$ uname --all
Linux bashcommandnotfound.cn 5.10.61-gentoo #1 SMP Wed Sep 8 15:32:02 CST 2021 x86_64 unknown unknown GNU/Linux
组合使用多个选项
你可以使用多个选项来组合输出不同的系统信息,例如,如果你只想显示内核名称、版本和操作系统,你可以使用-sro选项:
[linux@bashcommandnotfound.cn ~]$ uname -sro
Linux 5.10.61-gentoo GNU/Linux
Linux uname命令的注意事项
- uname命令只能显示系统的基本信息,如果你想获取更详细的信息,例如内存使用情况、磁盘空间、CPU的使用率、网络状态等,你可以使用其他的命令,如free、df、top、ifconfig等。
- uname命令的输出可能会随着系统的更新而发生变化,如果你想查看最新的系统信息,你可以使用uname -a命令来获取。
- 如果你在使用uname命令时遇到了bash: uname: command not found的错误,说明你的系统没有安装uname命令,或者你的PATH环境变量没有包含uname命令的路径。你可以尝试使用以下的方法来解决:
- 在终端中输入/usr/bin/uname或/bin/uname来直接调用uname命令的绝对路径。
- 在终端中输入echo PATH来查看你的PATH环境变量,如果没有包含/usr/bin或/bin,你可以使用export PATH=PATH:/usr/bin:/bin来添加它们。
- 在终端中输入which uname或whereis uname来查找uname命令的位置,如果没有找到,你可以使用你的系统的包管理器来安装uname命令,例如,在CentOS上,你可以使用yum install coreutils来安装uname命令所属的coreutils软件包。
评论区