053 uname命令
命令说明
uname(unix name)显示系统内核与硬件平台信息:内核版本、架构(x86_64/aarch64)、主机名等,是安装软件前确认系统环境的第一步。
语法
uname [选项]...
常用参数
| 参数 | 说明 |
|---|---|
| -a | 全部信息:内核名、主机名、内核版本、架构、硬件平台、OS |
| -s | 内核名称(默认输出,Linux) |
| -r | 内核版本号,如 5.14.0-284.el9.x86_64 |
| -m | 机器架构:x86_64 / aarch64 / armv7l,下载软件包必对 |
| -n | 主机名(同 hostname) |
| -p | 处理器类型(x86_64) |
| -o | 操作系统名称(GNU/Linux) |
| -v | 内核编译版本信息(构建时间戳) |
使用示例
$ uname -a
一次性看全系统环境信息
$ uname -r
查当前内核版本,判断是否需要升级/装驱动
$ uname -m
查架构,决定下载 amd64 还是 arm64 安装包
$ uname -n
查主机名
$ uname -m && cat /etc/os-release
组合命令:架构 + 发行版信息
$ arch
等价 uname -m 的简写命令
$ uname -v
查内核构建版本,排查补丁是否生效
$ echo $(uname -r)
脚本中引用当前内核名拼路径(如 /lib/modules/$(uname -r))
实用技巧
- 下载二进制包先 uname -m:x86_64 对应 amd64,aarch64 对应 arm64,i686 是 32 位,搞错架构直接 cannot execute binary file。
- uname 显示的是内核信息,不是发行版版本;发行版看 /etc/os-release 或 cat /etc/redhat-release。
- 升级内核后 uname -r 未变说明还没重启进新内核,ls /lib/modules 可对比已安装内核列表。
- 容器里 uname -a 显示的是宿主机内核,因为容器共享内核;判断是否在容器看 /.dockerenv 或 cgroup。
- 脚本中判断架构做分支:case $(uname -m) in x86_64) ARCH=amd64;; aarch64) ARCH=arm64;; esac。