Эта простая команда покажет вам, является ли исполняемый файл 32-битным (i386) или 64-битным (amd64).
Синтаксис:
apt-cache show $(dpkg -S /path/to/the/file | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -
Пример:
$ apt-cache show $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/Architecture:/ {print $2}' -
amd64
Объяснение:
dpkg -S
Команда захватывает пакет, в котором файл фактически принадлежит. apt-cache show package
Команда покажет подробности о пакете. Из этих подробностей awk берет только часть Архитектура и перенаправляет ее на стандартный вывод.
ИЛИ
Вы можете попробовать эту команду также,
$ dpkg -l $(dpkg -S /usr/bin/gedit | awk -F ':' '{print $1 }') | awk '/ii/ {print $4}'
amd64
cut -d: -f1
будет короче здесь, и обратите внимание, что это работает только для установленных пакетов, а не какой-то случайный файл в вашей домашней папке. Возможноxargs -r
, более уместно, еслиdpkg -S
команда возвращает пустое значение.