ฉันสังเกตเห็นบางสิ่งขณะทำfind /bin -exec file {} \;
:
file
คำสั่งรายงานบางรายการใน/bin
เป็น ขณะที่คนอื่นเป็นshared objects
executables
ตัวอย่างเช่น
/ bin / ntfsck:
เอลฟ์ 64 บิต LSB ที่ใช้ร่วมกันวัตถุ , x86-64, รุ่นที่ 1 (SYSV)
เชื่อมโยงแบบไดนามิก (ใช้ libs ใช้ร่วมกัน) สำหรับ GNU / Linux 2.6.24, BuildID [sha1] = 312d93fd0d8653e7236a61db2e67b93c63225a00 ปล้น
รายงานเดียวกันสำหรับ gawk
/ usr / bin / gawk: วัตถุที่ใช้ร่วมกันของ
ELB 64- บิต LSB , x86-64, รุ่น 1 (SYSV), เชื่อมโยงแบบไดนามิก (ใช้ libs ที่ใช้ร่วมกัน), สำหรับ GNU / Linux 2.6.24, BuildID [sha1] = 76bb13aac7e212164bd6e0d7b8a5d92db92
ในทางตรงกันข้ามfile
สำหรับ /bin/echo
คือ:
/ bin / echo:
ELF 64 บิตแบบปฏิบัติการ LSB , x86-64, เวอร์ชัน 1 (SYSV),
ลิงก์แบบไดนามิก (ใช้ libs ที่ใช้ร่วมกัน), สำหรับ GNU / Linux 2.6.24,
BuildID [sha1] = 193e75fc13e9c4599e772b8d79125a5934cf601c
โดยพื้นฐานแล้วฉันต้องการทราบว่าอะไรคือความแตกต่างระหว่างexecutable
ไฟล์และshared object
ไฟล์