Linux常用命令-ldd

命令

ldd

描述

显示二进制文件依赖的共享库列表

用法

1
ldd [OPTION]... FILE...

选项

1
2
3
4
5
Options:
-d, --data-relocs 执行重定位和报告任何丢失的对象
-r, --function-relocs 执行数据对象和函数的重定位,并且报告任何丢失的对象和函数
-u, --unused 显示未使用的直接依赖
-v, --verbose 显示所有信息

注意

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# ldd命令是一个shell脚本
$ file /usr/bin/ldd
/usr/bin/ldd: Bourne-Again shell script, ASCII text executable
# 显示cp命令依赖的库文件
$ ldd /usr/bin/cp
linux-vdso.so.1 => (0x00007ffc78f5e000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007ff3efd68000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007ff3efb5f000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007ff3ef95a000)
libc.so.6 => /lib64/libc.so.6 (0x00007ff3ef58c000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007ff3ef32a000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007ff3ef126000)
/lib64/ld-linux-x86-64.so.2 (0x00007ff3eff8f000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007ff3eef0a000)
$ ldd -u /usr/bin/cp
Unused direct dependencies:
/lib64/libselinux.so.1
/lib64/libacl.so.1
/lib64/libattr.so.1
$ ldd -v /usr/bin/cp
linux-vdso.so.1 => (0x00007ffdda493000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f145d826000)
libacl.so.1 => /lib64/libacl.so.1 (0x00007f145d61d000)
libattr.so.1 => /lib64/libattr.so.1 (0x00007f145d418000)
libc.so.6 => /lib64/libc.so.6 (0x00007f145d04a000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f145cde8000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f145cbe4000)
/lib64/ld-linux-x86-64.so.2 (0x00007f145da4d000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f145c9c8000)

Version information:
/usr/bin/cp:
libattr.so.1 (ATTR_1.1) => /lib64/libattr.so.1
libacl.so.1 (ACL_1.0) => /lib64/libacl.so.1
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
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.17) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.6) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
/lib64/libselinux.so.1:
libdl.so.2 (GLIBC_2.2.5) => /lib64/libdl.so.2
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
...