uname 命令详解
更新时间:2026-08-28。本文是「一个命令一个文档」系列,属于硬件与内核命令族(见硬件与内核模块命令族)。"这机器啥内核、啥架构"一句话答清。
uname(Unix name)显示系统内核与硬件相关信息。装驱动、下二进制、查兼容性时,先看它。
一、基本用法
bash
uname -a # 全部信息:内核名 主机名 内核版本 架构 等
uname -s # 内核名:Linux
uname -r # 内核版本:5.15.0-91-generic
uname -m # 硬件架构:x86_64 / aarch64最常用的组合是
-r(内核版本,决定能不能装某内核模块)和-m(架构,决定下哪个平台的二进制)。-a一次性全给。
二、各字段含义
bash
uname -n # 网络节点主机名(同 hostname)
uname -v # 内核编译版本/日期
uname -o # 操作系统:GNU/Linux
uname -p # 处理器类型(常同 -m)排查"为什么这个 .deb/.rpm 装不上",常看
-m架构是否匹配(x86_64 vs aarch64)。-r对应内核头文件版本,编内核模块(如 NVIDIA、VirtualBox)必须一致。
三、实战:下载对的二进制
bash
ARCH=$(uname -m) # x86_64 → 下 amd64 包;aarch64 → 下 arm64 包
KVER=$(uname -r) # 确认内核模块版本匹配写跨平台安装脚本时,用
uname -m决定下载哪个架构的二进制,uname -r校验内核模块兼容性。这是自动化部署的标配。
四、与 hostnamectl / lsb_release 区别
bash
uname -r # 内核版本(底层)
lsb_release -a # 发行版信息(Ubuntu 22.04 等,高层)
hostnamectl # 主机名+内核+架构+发行版聚合
uname看内核/架构(最底层),lsb_release看发行版(如 CentOS 7 / Debian 12),两者层次不同。要"这是啥 Linux 发行版"用 lsb_release,要"内核版本/架构"用 uname。
相关命令
一句话总结
uname = 内核与架构信息:uname -a 全给、-r 内核版本(编内核模块必须匹配)、-m 架构(x86_64/aarch64,决定下哪个二进制)、-s 内核名;脚本里用 uname -m 选架构包、uname -r 校验模块兼容。区别于 lsb_release(看发行版)、hostnamectl(聚合)。