系统架构决定软件兼容性和性能上限,这里汇总 5 条 Linux 下最常用的架构查看命令。
uname 与 arch:直接拿到机器类型
uname -m 输出当前机器的硬件名称(hardware name),是最常用的架构判断方式 [1]。arch 是 uname -m 的同义词,在多数发行版中直接可用 [2]。
uname -m
arch
常见输出:
x86_64— 64 位 x86aarch64— 64 位 ARMarmv7l— 32 位 ARM
lscpu:结构化 CPU 信息
lscpu 从 sysfs、/proc/cpuinfo 和架构库中汇总信息,输出更易读的表格 [3]。
lscpu | grep -E "Architecture|CPU op-mode|Byte Order|Model name|CPU family"
重点关注 Architecture(如 x86_64)、CPU op-mode(s)(32/64 位能力)和 Model name(具体 CPU 型号)。
dpkg:Debian/Ubuntu 包架构
在 Debian/Ubuntu 系上,dpkg --print-architecture 输出当前主包架构;--print-foreign-architectures 列出已启用的多架构 [4]。
dpkg --print-architecture
dpkg --print-foreign-architectures
安装多架构库时需要先启用 foreign architectures,例如运行 dpkg --add-architecture i386。
/proc/cpuinfo:原始 CPU 数据
/proc/cpuinfo 是内核导出的原始 CPU 信息,适合脚本解析 [5]。
grep -m1 "model name" /proc/cpuinfo
grep -m1 "cpu family" /proc/cpuinfo
排错速查表
| 现象 | 原因 | 处理 |
|---|---|---|
arch 提示 command not found |
最小容器里未安装 util-linux | 改用 uname -m |
lscpu 输出 Vendor ID: AuthenticAMD 但型号不对 |
虚拟化层做了 CPU 遮盖 | 检查虚拟化类型 |
dpkg --print-foreign-architectures 为空 |
未添加多架构 | dpkg --add-architecture <arch> |
回滚与局限性
删除多架构配置时,使用 dpkg --remove-architecture <arch>,然后重新同步包索引。
WSL 和容器环境中的架构信息可能被虚拟化层遮盖,lscpu 显示的是宿主机暴露的版本,不代表物理机真实型号。
附录
- 测试机:WSL2 Ubuntu 22.04
- 内核:Linux 5.15.153.1-microsoft-standard-WSL2
- 测试日期:2026-11-01
- 观察结果:
uname -m输出 x86_64,lscpu显示 20 CPU、x86_64 架构、GenuineIntel,dpkg --print-architecture输出 amd64。
参考资料
- [1] uname(1) – Linux manual page(uname)
- [2] arch(1) – Linux manual page(arch)
- [3] lscpu(1) — util-linux — Debian trixie(lscpu)
- [4] dpkg-architecture(1) – Linux manual page(dpkg)
- [5] 3. x86 Feature Flags — The Linux Kernel documentation(cpuinfo)
文中主要命令已在 WSL Ubuntu(24.04)实测并核对其在 Debian 系与通用发行版的文档口径。