☰
Linux `arch` 命令详解:一条命令快速识别主机硬件架构(linux-command 命令手册)
2026/9/30 10:51:57 网站建设 项目流程
  • 文档
  • 教程

【免费下载链接】linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

项目地址:https://gitcode.com/GitHub_Trending/linux/linux-command
点击查看免费下载

arch是 GNU coreutils 包提供的极简系统命令,用于打印当前主机的硬件架构类型(如x86_64、i686、arm等),它没有繁琐的参数,一行输出即可完成架构识别。本文基于 linux-command 仓库中的 arch 命令手册 展开,完整覆盖其语法、选项与使用示例,并结合仓库中 uname、lscpu、hostnamectl、dmidecode 等相邻命令文档,讲解arch与它们的关系及在脚本化运维中的典型用法,读完后你可以快速判断服务器架构、正确挑选软件包并写出兼容多架构的自动化脚本。

命令概要

arch的语法非常精简,命令后可以跟通用选项:

arch [OPTION]...
  • OPTION为可选项,通常不需要携带任何参数,直接执行arch即可得到结果;
  • 命令执行后仅输出一行架构字符串,例如x86_64,适合直接赋值给 Shell 变量使用。

主要用途

arch的核心作用只有一个:打印机器架构信息。根据 arch.md 的说明,其可能输出的结果包括:

输出值含义
i386/i486/i586/i686Intel x86 系列 32 位架构(不同代际的指令集扩展不同)
x86_64AMD/Intel 64 位架构(x86-64)
alphaDEC Alpha 架构
sparcSun SPARC 架构
armARM 架构(常见于嵌入式、移动设备)
m68kMotorola 68000 系列
mipsMIPS 架构
ppcPowerPC 架构

说明:具体输出哪些值取决于当前系统内核与 CPU 组合,上表为不同硬件平台上可能出现的典型取值,实际机器只会输出其中与自身匹配的一项。

选项说明

arch仅支持两个标准选项,与 GNU coreutils 家族其他命令保持一致:

--help 显示帮助信息并退出。 --version 显示版本信息并退出。
  • --help:打印命令的用法说明后退出,可用于快速回忆语法;
  • --version:输出版本信息后退出,可用于确认 coreutils 版本。

实际使用中,绝大多数场景直接运行arch而不带任何选项。

使用示例

在终端中直接执行:

[root@localhost ~]# arch x86_64

输出x86_64即代表当前主机为 64 位 x86 架构,这也是现代 Linux 服务器最常见的返回值。

在 Shell 脚本中判断架构

由于输出是单行纯文本,可以轻松在脚本中捕获并用于分支判断:

#!/bin/bash ARCH=$(arch) echo "当前主机架构: $ARCH" case "$ARCH" in x86_64) echo "使用 64 位软件包";; i686|i386) echo "使用 32 位软件包";; arm*) echo "使用 ARM 软件包";; *) echo "未知架构";; esac

这类写法在编写跨平台部署脚本、按架构选择二进制发布包时非常实用。

与uname -m的等价关系

arch.md 明确指出:该命令等价于uname -m。

对照仓库中的 uname.md,uname的-m, --machine选项用于打印机器名称,例如:

[root@localhost ~]# uname -m i686

而uname -a可以一次打印内核名称、主机名、内核 release、内核版本、机器名称、处理器、硬件平台、操作系统等全部信息:

[root@localhost ~]# uname -a Linux localhost 2.6.18-348.6.1.el5 #1 SMP Tue May 21 15:34:22 EDT 2013 i686 i686 i386 GNU/Linux

因此可以总结出:

  • 只想快速获取架构:用arch或uname -m均可;
  • 需要同时获取内核版本、主机名、操作系统等多维信息:使用uname -a(含-s、-n、-r、-v、-m、-p、-i、-o各选项,详见 uname.md);
  • 需要注意:不同系统上uname -p(处理器类型)与uname -i(硬件平台)在某些架构下可能输出unknown,而uname -m与arch的输出一般更稳定。

进阶:更完整的架构与硬件信息查看

arch只输出一行架构标识,如需更深层的硬件信息,可结合本仓库中的相关命令文档组合使用:

  1. CPU 架构全貌——lscpu输出 CPU 架构、字节序、核心数、型号、缓存等完整信息,见 lscpu.md:

    [root@localhost ~]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 ...
  2. 主机名与机箱信息——hostnamectl status可显示主机名、操作系统、内核、机箱类型等,见 hostnamectl.md:

    $ hostnamectl status
  3. 底层硬件(SMBIOS/DMI)——dmidecode通过解码 DMI 数据库输出 BIOS、主板、处理器、内存等硬件信息,见 dmidecode.md:

    [root@localhost ~]# dmidecode -t processor # 查看 CPU 信息

通过arch+lscpu+dmidecode的组合,可以完成从"架构标识"到"CPU 规格"再到"固件级硬件详情"的完整排查链路。

注意事项

  1. 等价命令:arch等价于uname -m,二者输出一致,可按习惯选用;
  2. 命令来源:arch是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 arch或info coreutils 'arch invocation';
  3. 适用性:arch反映的是当前运行内核所识别到的机器架构,在 x86 主机上运行 32 位内核时,其输出可能是i686而非x86_64,这一点在排查"明明是 64 位机器却提示 32 位"问题时值得注意;
  4. 若系统缺少arch命令(某些精简发行版未安装 coreutils 或未提供该链接),可使用uname -m作为等价替代。

参考文档

  • arch 命令手册
  • uname 命令手册
  • lscpu 命令手册
  • hostnamectl 命令手册
  • dmidecode 命令手册
  • README:Linux 命令大全搜索工具
  • 文档
  • 教程

【免费下载链接】linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

项目地址:https://gitcode.com/GitHub_Trending/linux/linux-command
点击查看免费下载
上一篇:JSON2YOLO 项目安装和配置指南
下一篇:如何快速将JSON标注转换为YOLO格式:JSON2YOLO工具使用指南

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询