为初学者简单介绍Linux ldd命令

系统 Linux
如果您的工作涉及到 Linux 中的可执行文件和共享库的知识,则需要了解几种命令行工具。其中之一是 ldd ,您可以使用它来访问共享对象依赖关系。在本教程中,我们将使用一些易于理解的示例来讨论此实用程序的基础知识。

如果您的工作涉及到 Linux 中的可执行文件和共享库的知识,则需要了解几种命令行工具。其中之一是 ldd ,您可以使用它来访问共享对象依赖关系。在本教程中,我们将使用一些易于理解的示例来讨论此实用程序的基础知识。

请注意,这里提到的所有示例都已在 Ubuntu 16.04 LTS 上进行了测试。

 

Linux ldd 命令

正如开头已经提到的,ldd 命令打印共享对象依赖关系。以下是该命令的语法:

  1. ldd [option]... file...

下面是该工具的手册页对它作出的解释:

ldd 会输出命令行指定的每个程序或共享对象所需的共享对象(共享库)。

以下使用问答的方式让您更好地了解ldd的工作原理。

 

问题一、 如何使用 ldd 命令?

ldd 的基本用法非常简单,只需运行 ldd 命令以及可执行文件或共享对象的文件名称作为输入。

  1. ldd [object-name]

例如:

  1. ldd test

How to use ldd

How to use ldd

所以你可以看到所有的共享库依赖已经在输出中产生了。

 

Q2、 如何使 ldd 在输出中生成详细的信息?

如果您想要 ldd 生成详细信息,包括符号版本控制数据,则可以使用 -v 命令行选项。例如,该命令

  1. ldd -v test

当使用 -v 命令行选项时,在输出中产生以下内容:

How to make ldd produce detailed information in output

How to make ldd produce detailed information in output

 

Q3、 如何使 ldd 产生未使用的直接依赖关系?

对于这个信息,使用 -u 命令行选项。这是一个例子:

  1. ldd -u test

How to make ldd produce unused direct dependencies

How to make ldd produce unused direct dependencies

 

Q4、 如何让 ldd 执行重定位?

您可以在这里使用几个命令行选项:-d-r。 前者告诉 ldd 执行数据重定位,后者则使 ldd 为数据对象和函数执行重定位。在这两种情况下,该工具都会报告丢失的 ELF 对象(如果有的话)。

  1. ldd -d
  2. ldd -r

 

Q5、 如何获得关于ldd的帮助?

--help 命令行选项使 ldd 为该工具生成有用的用法相关信息。

  1. ldd --help

How get help on ldd

How get help on ldd

 

总结

ldd 不像 cdrmmkdir 这样的工具类别。这是因为它是为特定目的而构建的。该实用程序提供了有限的命令行选项,我们在这里介绍了其中的大部分。要了解更多信息,请前往 ldd手册页。 

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-02-25 14:00:07

Linux命令whereis

2018-02-10 07:36:20

Linux命令wc

2018-03-12 15:26:00

Linux命令tee

2018-02-24 10:38:06

Linux命令rmdir

2021-08-05 14:40:45

操作系统UNIXLINUX

2018-02-05 08:45:00

RHELCentOS 7MariaDB

2018-02-23 10:03:30

Linux命令mkdir

2011-08-25 15:51:10

Lua脚本

2018-04-08 14:47:06

Linux命令type

2009-11-18 09:30:43

2012-01-31 21:10:25

Linux初学者发行版

2018-04-16 08:33:39

Linux命令uniq

2020-06-03 10:00:30

Kubernetes容器开发

2014-04-01 10:20:00

开源Rails

2022-09-05 15:36:39

Linux日志记录syslogd

2018-04-02 11:59:04

Linux命令ln

2022-11-16 16:02:59

Linux命令

2009-11-17 15:33:26

PHP数组元素

2011-09-16 09:38:19

Emacs

2022-04-24 15:21:01

MarkdownHTML
点赞
收藏

51CTO技术栈公众号