Bagaimana cara memeriksa apakah perangkat lunak saya 32-bit atau 64-bit

30

Saya ingin memeriksa apakah perangkat lunak saya 64 bit atau 32 bit (bukan OS). Perangkat lunak ini adalah file yang dapat dieksekusi , dan ketika saya memeriksanya, tidak ada informasi yang diberikan jika 64-bit atau 32-bit.

Bagaimana saya memeriksa apakah perangkat lunak saya 64-bit atau 32-bit?

Levan
sumber

Jawaban:

39

Anda dapat menggunakan fileperintah untuk memeriksa format apa yang dapat dieksekusi. Sebagai contoh:

file /usr/bin/gedit
/usr/bin/gedit: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5a388215eb6f60b420fc3b6d68ec52d563071f84, stripped
Radu Rădeanu
sumber
4

Perintah sederhana ini akan menunjukkan kepada Anda apakah file yang dapat dieksekusi adalah 32 bit (i386) atau 64 bit (amd64).

Sintaksis:

apt-cache show $(dpkg -S /path/to/the/file | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -

Contoh:

$ apt-cache show $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -
amd64

Penjelasan:

dpkg -Sperintah mengambil paket di mana file itu sebenarnya milik. apt-cache show packageperintah akan menunjukkan detail tentang paket. Dari detail itu, awk hanya mengambil bagian Arsitektur dan mengarahkannya ke stdout.

ATAU

Anda dapat mencoba perintah ini juga,

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
Avinash Raj
sumber
1
cut -d: -f1akan lebih pendek di sini, dan perhatikan bahwa ini hanya berfungsi untuk paket yang diinstal, bukan file acak di folder rumah Anda. Mungkin xargs -rlebih tepat jika dpkg -Sperintah kembali kosong.
Lekensteyn
Ini hanya berfungsi jika perangkat lunak itu berasal dari apt / dpkg, sementara jawaban lainnya selalu bekerja di mana pun asalnya.
Joseph Sible-Reinstate Monica