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。