一、命令简介

  LDD用来打印或者查看程序运行所需的共享库,常用来解决程序因缺少某个库文件而不能运行的一些问题。ldd不是一个可执行程序,而只是一个shell脚本。

二、使用示例

1、查看ls命令所需的动态库

[root@test1 local]# ldd /usr/bin/ls
linux-vdso.so.1 => (0x00007ffee559e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007fd43de22000)
libcap.so.2 => /lib64/libcap.so.2 (0x00007fd43dc1d000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007fd43da14000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd43d647000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007fd43d3e5000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd43d1e1000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd43e049000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007fd43cfdc000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd43cdc0000)

2、查看libstdc++.so.6动态库依赖的包的详细信息

[root@test1 local]# ldd -v /lib64/libstdc++.so.6
linux-vdso.so.1 => (0x00007ffcaa0e1000)
libm.so.6 => /lib64/libm.so.6 (0x00007f7136c63000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7136896000)
/lib64/ld-linux-x86-64.so.2 (0x00007f713726c000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7136680000)

Version information:
/lib64/libstdc++.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
libm.so.6 (GLIBC_2.2.5) => /lib64/libm.so.6
libgcc_s.so.1 (GCC_4.2.0) => /lib64/libgcc_s.so.1
libgcc_s.so.1 (GCC_3.3) => /lib64/libgcc_s.so.1
libgcc_s.so.1 (GCC_3.0) => /lib64/libgcc_s.so.1
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libm.so.6:
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
/lib64/libgcc_s.so.1:
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6

3、缺少依赖包时显示如下

在这里插入图片描述

4、获取ldd命令相关帮助

[root@test1 ~]# ldd --help
Usage: ldd [OPTION]… FILE…
–help print this help and exit
–version print version information and exit
-d, --data-relocs process data relocations
-r, --function-relocs process data and function relocations
-u, --unused print unused direct dependencies
-v, --verbose print all information

For bug reporting instructions, please see:
http://www.gnu.org/software/libc/bugs.html.

5、查看ldd命令版本

[root@test1 ~]# ldd --version
ldd (GNU libc) 2.17
Copyright © 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.

三、使用语法及参数说明

1、使用语法

用法:ldd [OPTION]… FILE…

2、参数说明

  • –help 获取指令帮助信息;
  • –version 打印指令版本号;
  • -d,–data-relocs 执行重定位和报告任何丢失的对象;
  • -r, --function-relocs 执行数据对象和函数的重定位,并且报告任何丢失的对象和函数;
  • -u, --unused 打印未使用的直接依赖;
  • -v, --verbose 详细信息模式,打印所有相关信息;
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐