Zauważyłem coś podczas robienia find /bin -exec file {} \;
:
file
komenda informuje niektóre wpisy w /bin
to shared objects
, a inni jak executables
. Na przykład,
/ bin / ntfsck:
ELF 64-bitowy obiekt współdzielony LSB , x86-64, wersja 1 (SYSV),
dynamicznie połączony (wykorzystuje współdzielone biblioteki lib), dla GNU / Linux 2.6.24, BuildID [sha1] = 312d93fd0d8653e7236a61db2e67b93c63225a00, rozebrany
Ten sam raport dla gawk
/ usr / bin / gawk:
ELF 64-bitowy obiekt współdzielony LSB , x86-64, wersja 1 (SYSV),
dynamicznie połączony (wykorzystuje współdzielone biblioteki
lib ), dla GNU / Linux 2.6.24, BuildID [sha1] = 76bb13aac7e212164bd6e0d7b8a5d92db44543c9, rozebrany
W przeciwieństwie file
do tego /bin/echo
jest:
/ bin / echo:
ELF 64-bitowy plik wykonywalny LSB , x86-64, wersja 1 (SYSV),
dynamicznie połączony (wykorzystuje współdzielone biblioteki
lib ), dla GNU / Linux 2.6.24, BuildID [sha1] = 193e75fc13e9c4599e772b8d79125a5934cf601c, z paskiem
Zasadniczo chcę wiedzieć, jaka jest różnica między executable
plikami a shared object
plikami.