Все приведенные здесь примеры были протестированы на Ubuntu Linux, но команда работает точно так же и в других дистрибутивах.
Команда Linux ldd
Как уже упоминалось в начале, команда ldd выводит зависимости общих объектов. Ниже приведен синтаксис команды:
ldd [option]... file...
А вот как это объясняет man-страница инструмента:
ldd prints the shared objects (shared libraries) required by each program or shared object specified on the command line.
Следующие примеры в стиле Q&A должны дать вам лучшее представление о том, как работает ldd.
Q1. Как использовать команду ldd?
Базовое использование ldd довольно простое – достаточно запустить команду ‘ldd’ вместе с именем исполняемого файла или файла разделяемого объекта в качестве входных данных.
ldd [object-name]
Например:
ldd test
Вы можете видеть, что все зависимости от общих библиотек были выведены на экран.
Q2. Как заставить ldd выдавать подробную информацию в выходных данных?
Если вы хотите, чтобы ldd выдавал подробную информацию, включая данные о версиях символов, вы можете использовать опцию командной строки -v. Например, команда
ldd -v test
выводит следующие данные, когда -v использовался параметр командной строки:
Q3. Как заставить ldd выдавать неиспользуемые прямые зависимости?
Для получения этой информации используйте -u опция командной строки. Вот пример:
ldd -u test
Q4. Как заставить ldd выполнять перемещения?
Есть несколько вариантов командной строки, которые можно использовать: -d и -r. Если первый вариант указывает ldd выполнять перемещение данных, то второй заставляет ldd выполнять перемещение как для объектов данных, так и для функций. В обоих случаях инструмент сообщает о недостающих объектах ELF (если таковые имеются).
ldd -d
ldd -r
Q5. Как получить помощь по ldd?
Опция командной строки –help заставляет ldd выдавать полезную информацию об использовании инструмента.
ldd --help