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?
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?
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
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
cut -d: -f1
would be shorter here, and note that this only works for installed packages, not some random file in your home folder. Perhapsxargs -r
is more appropriate in case thedpkg -S
command returns empty. – Lekensteyn Mar 23 '14 at 10:07