タイトルの質問に対する答えは、出力の先頭にあります。
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
、たとえば次のように識別されます。
ELF 32ビット LSB実行可能ファイル、Intel 80386、バージョン1(SYSV)、動的にリンク(共有ライブラリを使用)、GNU / Linux 2.6.8用、ストリップ済み
これは、Intel 80386命令セットを使用した32ビットの実行可能ファイルであることを示しています(おそらく拡張機能付き)。
32ビットアーキテクチャと64ビットアーキテクチャほど単純ではないことに注意してください。たとえば、Linuxカーネルは Intel 80386、AVR32、S / 390、Unicore32などの32ビットアーキテクチャをサポートしています。64ビット側では、Linuxは特にPA-RISC、x86-64、ItaniumおよびAlphaで使用できます。ただし、すべてのディストリビューションがすべてのアーキテクチャのバイナリを提供するわけではありません(サポートされているすべての CPUアーキテクチャを等しくターゲットとするディストリビューションがあるとは思いません)。そのため、特定のバイナリが特定のシステムで実行可能かどうかを知りたい場合は、CPUのネイティブワードサイズではなく、アーキテクチャを考慮する必要があります。