La réponse à la question dans le titre se trouve juste au début de la sortie:
Exécutable ELF 64 bits LSB, x86-64
ELF est le format exécutable et linkable , le format de fichier exécutable binaire le plus couramment utilisé par Linux.
x86-64 est l'architecture du binaire, la version 64 bits du jeu d'instructions x86 introduit à l'origine par AMD . Pour des raisons qui me dépassent, Microsoft l'appelle "x64", mais c'est la même chose.
Si vous avez besoin de connaître l'architecture du noyau lui-même, vous pouvez l'utiliser uname -mpi
. Par exemple, sur mon système, qui imprime:
x86_64 inconnu inconnu
ce qui signifie que j'utilise un noyau x86-64.
Si vous êtes intéressé par le CPU lui-même, consultez les /proc/cpuinfo
détails sur les CPU détectés par le noyau Linux.
Un exécutable 32x 80x86 est identifié par file
, par exemple:
Exécutable ELF 32 bits LSB, Intel 80386 , version 1 (SYSV), lié dynamiquement (utilise des bibliothèques partagées), pour GNU / Linux 2.6.8, supprimé
ce qui nous indique qu'il s'agit d'un exécutable 32 bits utilisant le jeu d'instructions Intel 80386 (éventuellement avec des extensions).
Notez qu'il n'est pas aussi simple que les architectures 32 bits contre 64 bits. Par exemple, le noyau Linux prend en charge les architectures 32 bits comme Intel 80386, AVR32 , S / 390 et Unicore32 . Du côté 64 bits, Linux est utilisable sur PA-RISC , x86-64, Itanium et Alpha , entre autres. Cependant, toutes les distributions ne fournissent pas de binaires pour toutes les architectures (et je doute qu'il existe des distributions qui ciblent également toutes les architectures CPU prises en charge). Donc, si vous voulez savoir si un binaire donné sera exécutable sur un système donné, vous devez considérer l' architecture , plutôt que la taille du mot natif du CPU.