La respuesta a la pregunta en el título está justo al principio de la salida:
ELF ejecutable LSB de 64 bits , x86-64
ELF es el formato ejecutable y enlazable , el formato de archivo ejecutable binario más utilizado por Linux.
x86-64 es la arquitectura del binario, la versión de 64 bits del conjunto de instrucciones x86 introducido originalmente por AMD . Por razones que me superan, Microsoft se refiere a él como "x64", pero eso es lo mismo.
Si necesita conocer la arquitectura del núcleo en sí, puede usar uname -mpi
. Por ejemplo, en mi sistema, eso imprime:
x86_64 desconocido desconocido
lo que significa que estoy ejecutando un núcleo x86-64.
Si está interesado en la CPU en sí, busque /proc/cpuinfo
detalles sobre las CPU detectadas por el kernel de Linux.
Un ejecutable 80x86 de 32 bits se identifica file
como, por ejemplo:
ELF ejecutable LSB de 32 bits , Intel 80386 , versión 1 (SYSV), vinculado dinámicamente (usa libs compartidas), para GNU / Linux 2.6.8, despojado
que nos dice que es un ejecutable de 32 bits que usa el conjunto de instrucciones Intel 80386 (posiblemente con extensiones).
Tenga en cuenta que no es tan simple como las arquitecturas de 32 bits frente a las de 64 bits. Por ejemplo, el kernel de Linux admite arquitecturas de 32 bits como Intel 80386, AVR32 , S / 390 y Unicore32 . En el lado de 64 bits, Linux se puede usar en PA-RISC , x86-64, Itanium y Alpha , entre otros. Sin embargo, no todas las distribuciones proporcionan archivos binarios para todas las arquitecturas (y dudo que haya distribuciones que se dirijan a todas las arquitecturas de CPU compatibles por igual). Entonces, si desea saber si un binario dado será ejecutable en un sistema dado, debe considerar la arquitectura , en lugar del tamaño de palabra nativo de la CPU.