Notei algo enquanto fazia find /bin -exec file {} \;:
o filecomando relata algumas entradas em /binsão shared objects, enquanto outras como executables. Por exemplo,
/ bin / ntfsck: objeto compartilhado
ELF de 64 bits LSB , x86-64, versão 1 (SYSV), vinculado dinamicamente (usa bibliotecas compartilhadas), para GNU / Linux 2.6.24, BuildID [sha1] = 312d93fd0d8653e7236a61db2e67b93c63225a00, despojado
Mesmo relatório para gawk
/ usr / bin / gawk: objeto compartilhado
ELF de 64 bits LSB , x86-64, versão 1 (SYSV), vinculado dinamicamente (usa bibliotecas compartilhadas), para GNU / Linux 2.6.24, BuildID [sha1] = 76bb13aac7e212164bd6e0d7b8a5d92db44543c9, despojado
Em contraste filepara /bin/echoé:
/ bin / echo: Executável
ELF de 64 bits LSB , x86-64, versão 1 (SYSV), vinculado dinamicamente (usa libs compartilhadas), para GNU / Linux 2.6.24, BuildID [sha1] = 193e75fc13e9c4599e772b8d79125a5934cf601c, despojado
Essencialmente, quero saber qual é a diferença entre executablearquivos e shared objectarquivos.