标题中问题的答案就在输出的开头:
ELF 64位 LSB可执行文件,x86-64
ELF是可执行和可链接格式,这是Linux最常用的二进制可执行文件格式。
x86-64是二进制的体系结构,即最初由AMD引入的x86指令集的64位版本。由于超出我的原因,Microsoft将其称为“ x64”,但这是同一回事。
如果您需要了解内核本身的体系结构,可以使用uname -mpi
。例如,在我的系统上,将输出:
x86_64未知未知
这意味着我正在运行x86-64内核。
如果您对CPU本身感兴趣,请查看/proc/cpuinfo
有关Linux内核检测到的CPU的详细信息。
一个32位80x86可执行文件由以下代码标识file
:
用于GNU / Linux 2.6.8的ELF 32位 LSB可执行文件,英特尔80386版本1(SYSV),动态链接(使用共享库),已剥离
告诉我们它是使用Intel 80386指令集(可能带有扩展名)的32位可执行文件。
请注意,它并不像32位和64位体系结构那么简单。例如,Linux内核支持 32位架构,例如Intel 80386,AVR32,S / 390和Unicore32。在64位方面,Linux可用于PA-RISC,x86-64,Itanium和Alpha等。并非所有发行版都为所有架构提供二进制文件,但是(我怀疑是否有任何发行版均等地针对所有受支持的CPU架构)。因此,如果您想知道给定的二进制文件是否可以在给定的系统上执行,则需要考虑体系结构,而不是CPU的本机字长。