Я заметил что-то, делая find /bin -exec file {} \;
:
file
команда сообщает некоторые записи в /bin
это shared objects
, в то время как другие , как executables
. Например,
/ bin / ntfsck:
ELF 64-битный общий объект LSB , x86-64, версия 1 (SYSV),
динамически связанный (использует разделяемые библиотеки), для GNU / Linux 2.6.24, BuildID [sha1] = 312d93fd0d8653e7236a61db2e67b93c63225a00, раздетый
Тот же отчет для gawk
/ usr / bin / gawk:
64-битный общий объект ELB LSF, x86-64, версия 1 (SYSV),
динамически связанный (использует общие библиотеки), для GNU / Linux 2.6.24,
BuildID [sha1] = 76bb13aac7e212164bd6e0d7b8a5d92db44543c9, раздетый
В отличие file
от /bin/echo
это:
/ bin / echo: исполняемый
64-разрядный LSB ELF , x86-64, версия 1 (SYSV), динамически связанный (использует общие библиотеки), для GNU / Linux 2.6.24, BuildID [sha1] = 193e75fc13e9c4599e772b8d79125a5934cf601c, раздетый
По сути, я хочу знать, в чем разница между executable
файлами и shared object
файлами.