- 文档
- 教程
【免费下载链接】linux-command
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux
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/i686 | Intel x86 系列 32 位架构(不同代际的指令集扩展不同) |
x86_64 | AMD/Intel 64 位架构(x86-64) |
alpha | DEC Alpha 架构 |
sparc | Sun SPARC 架构 |
arm | ARM 架构(常见于嵌入式、移动设备) |
m68k | Motorola 68000 系列 |
mips | MIPS 架构 |
ppc | PowerPC 架构 |
说明:具体输出哪些值取决于当前系统内核与 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只输出一行架构标识,如需更深层的硬件信息,可结合本仓库中的相关命令文档组合使用:
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 ...主机名与机箱信息——
hostnamectl status可显示主机名、操作系统、内核、机箱类型等,见 hostnamectl.md:$ hostnamectl status底层硬件(SMBIOS/DMI)——
dmidecode通过解码 DMI 数据库输出 BIOS、主板、处理器、内存等硬件信息,见 dmidecode.md:[root@localhost ~]# dmidecode -t processor # 查看 CPU 信息
通过arch+lscpu+dmidecode的组合,可以完成从"架构标识"到"CPU 规格"再到"固件级硬件详情"的完整排查链路。
注意事项
- 等价命令:
arch等价于uname -m,二者输出一致,可按习惯选用; - 命令来源:
arch是GNU coreutils包中的命令,相关的帮助信息请查看man -s 1 arch或info coreutils 'arch invocation'; - 适用性:
arch反映的是当前运行内核所识别到的机器架构,在 x86 主机上运行 32 位内核时,其输出可能是i686而非x86_64,这一点在排查"明明是 64 位机器却提示 32 位"问题时值得注意; - 若系统缺少
arch命令(某些精简发行版未安装 coreutils 或未提供该链接),可使用uname -m作为等价替代。
参考文档
- arch 命令手册
- uname 命令手册
- lscpu 命令手册
- hostnamectl 命令手册
- dmidecode 命令手册
- README:Linux 命令大全搜索工具
- 文档
- 教程
【免费下载链接】linux-command
Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux
相关推荐
Linux 光盘刻录命令 cdrecord 实战指南(linux-command 命令手册详解)
Linux 光盘刻录命令 cdrecord 实战指南(linux command 命令手册详解) 本篇指南聚焦 Linux 系统下的经典刻录命令 cdrecor
文档教程linux-command 命令速查:clock 命令详解与 Linux 硬件时钟(RTC)时间调整实战指南
linux command 命令速查:clock 命令详解与 Linux 硬件时钟(RTC)时间调整实战指南 本文基于 linux command https:
文档教程linux-command 命令手册详解:consoletype 命令——输出已连接终端类型
linux command 命令手册详解:consoletype 命令——输出已连接终端类型 导读 consoletype 是 Linux 系统诊断与脚本编写中
文档教程
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考