bootinfo 命令的 Linux 等效项是什么?

Laz*_*zer 5 linux aix

AIX 的引导信息

...显示使用的硬件是 32 位还是 64 位。

Linux 的什么命令/实用程序可以完成这项工作?

Ste*_*n D 6

通常uname -m应该做到这一点,也应该如此arch

这两个命令的输出将告诉您构建内核的体系结构。这是 32 位还是 64 位通常很清楚(x​​86_64 和 ia64 是两种可能的 64 位架构)。但是,请注意,在 64 位硬件上运行时,您可能拥有 32 位内核。如果您真的想了解硬件,请尝试查看

less /proc/cpuinfo

如果“flags”行中有“lm”,则它是 64 位的。

或者,如果你有 lshw

lshw -class processor

并查看“宽度”线。

对于这两个选项,grep都可以使用,无需查看输出即可快速获得答案。

  • 更准确地说,`uname -m` 告诉您构建 *kernel* 的架构。例如,有一些系统使用 amd64 内核但使用 32 位用户空间。 (2认同)

Gil*_*il' 3

有几种可能的答案,具体取决于您到底想知道什么(我不知道 AIXbootinfo对应哪一个)。

  • flags您可以通过检查 中的行来了解 CPU 是 64 位、32 位还是两者兼有/proc/cpuinfo。您必须了解您的架构系列中可能的标志。例如,在 i386/amd64 平台上,该lm标志标识支持 amd64 的 CPU(没有该标志的 CPU 仅限 i386)。

  • 您可以通过查询架构来查看内核是32位还是64位uname -m。例如,i[3456]86is 是 32 位,而x86_64是 64 位。请注意,在某些体系结构上,64 位内核可以运行 32 位用户态程序,因此即使显示uname -m64 位内核,也不能保证 64 位库可用。

  • 您可以通过使用命令查询LSB支持来查看用户空间中可用的内容lsb_release。更准确地说,lsb-release -s打印:支持的 LSB 功能的分隔列表。每个特征都有形式。例如,ix86 C 库的可用性由 表示,而amd64 则与此类似。不过,并非每个发行版都声明所有可用的 LSB 模块,因此可用的模块可能多于通过这种方式检测到的模块。module-*version*-architecturecore-2.0-ia32core-2.0-amd64

  • sizeof(void*)您可以通过编译打印或的 5 行 C 程序来找出开发时首选的字长(假设有 C 编译器可用)sizeof(size_t)