小ネタです。
CPU のビット数を知りたい
参考: http://d.hatena.ne.jp/jun-ya/20090511/1242028435
上記参考 URL のように、uname や /proc/cpuinfo の値を参考にしても良いのですが、基本的に x86 アーキテクチャ前提です。
file コマンドだ
そんなときに、僕が利用するのが、file コマンドです。
% file /bin/ls
とやれば、ls コマンドがどんな環境でコンパイルされたバイナリなのかが出てきます。便利ですね☆
MIPS の場合
# file /bin/ls /bin/ls: ELF 32-bit MSB executable, PowerPC or cisco 4500, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, with unknown capability 0x41000000 = 0x13676e75, with unknown capability 0x10000 = 0xb0401, stripped
FreeBSD の場合
% file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked (uses shared libs), for FreeBSD 8.4, stripped
Linux の場合
% file /bin/ls /bin/ls: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x37cdd635587f519989044055623abff939002027, stripped
以上。