如何在Linux中使用LDD命令如何在Linux中使用LDD命令如何在Linux中使用LDD命令如何在Linux中使用LDD命令
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在Linux中使用LDD命令

在 Linux 系统中,我们经常在终端或图形应用程序中使用可执行文件。可执行文件包含共享库,这些库是跨程序共享和重用的文件。在 Windows 中,这些通常采用 DDL 文件的形式。然而,在 Linux 中,它们采用 .o 或 .so 文件的形式。

本指南将向您展示如何使用 ldd 命令行实用程序来显示可执行文件中的共享对象和依赖项。

什么是 Ldd

Ldd 是一个功能强大的命令行工具,允许用户查看可执行文件的共享对象依赖关系。库是指一个或多个预编译资源,例如函数、子例程、类或值。这些资源中的每一个都被组合起来创建库。

在 Linux 中,库文件通常位于 /lib 或 /usr/lib 目录中。库有助于节省时间,因为程序可以根据需要重新调整和使用它们。

有两种类型的库:

  • 静态库

  • 动态或共享库

如何安装 Ldd 命令

通常,您会发现几乎所有 Linux 发行版中都可以使用 ldd 命令。但是,如果它不可用,您可以使用以下命令安装它:

sudo apt-get install libc-bin

安装命令后,我们就可以开始使用它了。

基本 Ldd 命令用法

ldd 命令的一般语法非常简单。默认情况下,执行 ldd 命令会显示共享对象依赖关系。

语法如下:

ldd [options] executable

例如,要显示 bash 二进制文件的共享库依赖项,我们使用以下命令:

sudo ldd /bin/bash

上述命令显示的依赖关系如下:

第一部分显示虚拟动态共享对象(VDSO)。第二行显示了硬编码到可执行文件中的 ELF 解释器的路径,最后一部分显示了加载库的内存。

LD选项

我们使用 ldd 选项来修改命令的行为。支持的选项包括:

  • -v – 详细模式,打印所有信息。

  • -u – 显示未使用的直接依赖项

  • -d – 执行数据重定位并显示丢失的 ELF 对象。

  • -r – 执行数据和函数重定位并显示丢失的 ELF 对象和函数。

显示详细输出

要显示二进制文件的依赖关系以及详细信息,我们可以将 -v 标志传递给 ldd 命令,如下所示:

sudo ldd -v /bin/bash

Ldd 显示未使用的直接依赖项

使用 -u 标志显示未使用的直接依赖项,如下所示:

sudo ldd -u /bin/grep

注意:Ldd 仅适用于动态可执行文件。如果在非动态可执行文件上使用,它将显示错误:

sudo ldd -v /bin/ldd

综上所述

本教程介绍了如何在 Linux 中使用 ldd 命令并获取动态可执行文件的共享库依赖关系信息。如果您从本教程中学到了一些东西,请与其他人分享。

如果您正在寻找详细信息,请考虑以下手册页:

  • https://man7.org/linux/man-pages/man1/ldd.1.html

  • https://man7.org/linux/man-pages/man7/vdso.7.html

  • https://man7.org/linux/man-pages/man7/libc.7.html

  • https://man7.org/linux/man-pages/man8/ld.so.8.html

©2015-2025 艾丽卡 support@alaica.com