Вывод file /bin/cp
:
/bin/cp: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=ea4510e2ea94e09894383430c178b21df065faac, stripped
что это означает?
Давайте возьмем его независимо часть частью:
/bin/cp
название программы Вы являетесь передающими к file
команда. В этом случае это cp
, программа для копирования файлов и папок.ELF 64-bit LSB shared object
: внешняя программа может использовать функциональность этой программы. Посмотрите мои связанные Исполняемые файлы вопроса по сравнению с Общими объектамиx86-64
- скомпилированный для 64-разрядной ОСversion 1 (SYSV)
- стандарт System V Unix использования для ABI. Посмотрите команду файла Linux: что подразумевает SYSV?dynamically linked
- функциональность использования других программ/библиотек. См. ответ Коса по моему вопросу. (Ссылка № 1)interpreter /lib64/ld-linux-x86-64.so.2
- это - программа, которая загрузит исполняемый файл и все библиотеки, необходимые, чтобы программа работала. Посмотрите PatchELF для простого объяснения в первом pargraph. См. также Динамического Компоновщика на Википедиюfor GNU/Linux 2.6.32
- glibc
библиотека, пользовавшаяся для компиляции той программы, была предназначена для ядра Linux 2.6.32. См., что Linux управляет шоу “файла” “GNU/Linux 2.6.24”
BuildID[sha1]=ea4510e2ea94e09894383430c178b21df065faac
- sha1 hashsum для сессии сборки, самой полезной для разработчиков, чтобы отладить их программу и видеть, какая конкретная версия их кода использовалась. Посмотрите то, Что имеет в виду BuildID SHA1?
stripped
- не содержит отладочной информации. Посмотрите то, Что разделяется и не - разделенные исполняемые файлы в Unix?