35

I want to check if my software is 64 bit or 32 bit (not the OS). This software is an executable file, and when I check it, no information is given if it is 64-bit or 32-bit.

How do I check if my software is 64-bit or 32-bit?

Levan
  • 10,880

2 Answers2

51

You can use the file command to check out what format has that executable. For example:

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
  • 169,590
4

This simple command will show you whether the executable file is 32 bit(i386) or 64 bit(amd64) .

Syntax:

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

Example:

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

Explanation:

dpkg -S command grabs the package in which the file actually belongs to.apt-cache show package command will shows the details about the package.From that details, awk grabs only the Architecture part and redirects it to stdout.

OR

You can try this command also,

$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
Avinash Raj
  • 78,556
  • 1
    cut -d: -f1 would be shorter here, and note that this only works for installed packages, not some random file in your home folder. Perhaps xargs -r is more appropriate in case the dpkg -S command returns empty. – Lekensteyn Mar 23 '14 at 10:07
  • This only works if the software came from apt/dpkg, while the other answer always works no matter where it came from. – Joseph Sible-Reinstate Monica Nov 29 '19 at 15:31