Linux中ldd命令怎么用
ldd命令是一个用于查看动态链接库的依赖关系的工具。它的作用是找出程序运行所需要的动态链接库,并且把这些库的路径打印出来。
ldd命令的格式为:
ldd [选项] 可执行文件
常用选项为:
-r:递归查找依赖关系,即如果可执行文件依赖于其他动态链接库,则会继续查找这些库的依赖关系。
-v:显示详细信息。
-d:只显示动态链接库的路径,不显示版本信息。
-l<库名>:只显示与指定库相关的信息。
例如,查看/bin/ls程序的依赖关系:
ldd /bin/ls
输出结果为:
linux-vdso.so.1 => (0x00007fff3b7ff000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00007f3f95b32000)
libcap.so.2 => /lib/libcap.so.2 (0x00007f3f9593e000)
libacl.so.1 => /lib/libacl.so.1 (0x00007f3f9573a000)
libc.so.6 => /lib/libc.so.6 (0x00007f3f951b7000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f3f94fb3000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3f95d4e000)
从上面的输出结果可以看出,/bin/ls程序依赖于linux-vdso.so.1、libselinux.so.1、libcap.so.2、libacl.so.1、libc.so.6和libdl.so.2这些库。
另外,ldd命令还可以用于查看已安装的动态链接库的依赖关系。例如,查看libselinux.so.1库的依赖关系:
ldd /lib/libselinux.so.1
输出结果为:
linux-vdso.so.1 => (0x00007fffb97fe000)
libpcre.so.1 => /lib/libpcre.so.1 (0x00007f3f9d8b8000)
libdl.so.2 => /lib/libdl.so.2 (0x00007f3f9d6b4000)
libc.so.6 => /lib/libc.so.6 (0x00007f3f9caf1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f3f9dbff000)
从上面的输出结果可以看出,libselinux.so.1库依赖于linux-vdso.so.1、libpcre.so.1、libdl.so.2和libc.so.6这些库。
相关文章