为入门学者提供简单介绍Linux ldd命令
如果您的工作涉及到 Linux 中的可执行文件和共享库的知识,则需要了解几种命令行工具。其中之一是 ldd ,您可以使用它来访问共享对象依赖关系。在本教程中,我们将使用一些易于理解的示例来讨论此实用程序的基础知识。
请注意,这里提到的所有示例都已在 Ubuntu 16.04 LTS 上进行了测试。
Linux ldd 命令
正如开头已经提到的,ldd 命令打印共享对象依赖关系。以下是该命令的语法:
ldd [option]... file...
下面是该工具的手册页对它作出的解释:
ldd 会输出命令行指定的每个程序或共享对象所需的共享对象(共享库)。
以下使用问答的方式让您更好地了解ldd的工作原理。
问题一、 如何使用 ldd 命令?
ldd 的基本用法非常简单,只需运行 ldd 命令以及可执行文件或共享对象的文件名称作为输入。
ldd [object-name]
例如:
ldd test
How to use ldd
所以你可以看到所有的共享库依赖已经在输出中产生了。
Q2、 如何使 ldd 在输出中生成详细的信息?
如果您想要 ldd 生成详细信息,包括符号版本控制数据,则可以使用 -v 命令行选项。例如,该命令
ldd -v test
当使用 -v 命令行选项时,在输出中产生以下内容:
How to make ldd produce detailed information in output
Q3、 如何使 ldd 产生未使用的直接依赖关系?
对于这个信息,使用 -u 命令行选项。这是一个例子:
ldd -u test
How to make ldd produce unused direct dependencies
Q4、 如何让 ldd 执行重定位?
您可以在这里使用几个命令行选项:-d 和 -r。 前者告诉 ldd 执行数据重定位,后者则使 ldd 为数据对象和函数执行重定位。在这两种情况下,该工具都会报告丢失的 ELF 对象(如果有的话)。
ldd -d
ldd -r
Q5、 如何获得关于ldd的帮助?
--help 命令行选项使 ldd 为该工具生成有用的用法相关信息。
ldd --help
How get help on ldd
总结
ldd 不像 cd、rm 和 mkdir 这样的工具类别。这是因为它是为特定目的而构建的。该实用程序提供了有限的命令行选项,我们在这里介绍了其中的大部分。要了解更多信息,请前往 ldd的手册页。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
2018年,了解 Windows 和 Linux 之间的核心差异至关重要
尽管 Windows 和 Linux 目前存在核心差异。但是操作系统的选择很大程度上取决于非技术原因。然而,不同操作系统的关键技术差异,为用户提供了截然不同的体验。多年来,无数的文章都指出我们正在进入 Linux 桌面的传奇年,那些转向Linux的人出于特定原因的动机,正在无形中从 Windows 迁移出去。所以在2018年,了解Windows 和 Linux 之间的核心差异至关重要。 Linux视图 当运行 Linux 桌面时,我们几乎总是会想到 DistroWatch.com 上列出的顶级发行版。事实上,任何操作系统取得的成功都与其允许用户做什么有关,而与排名网站上所指示的功能没什么相关。 桌面 Linux 用户常常划分为两个独立的组。第一组是那些只想要有效的体验的用户。他们需要可靠的应用程序和硬件支持,并且通常是任务驱动或个人玩家。第二组是桌面Linux用户,他们想要控制PC的运行。他们不希望拥有不必要的冗余,只安装需要的东西。发行版为用户提供控制其运行方式的能力。 传统上,第一组被认为是新用户,第二组是Linux高级用户。但是我认为高级用户属于第一组,而初学者则试图运行更复杂的...
- 下一篇
linux下whereis 命令
whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。 和find相比,whereis查找的速度非常快,这是因为linux系统会将系统内的所有文件都记录在一个数据库文件中,当使用whereis和下面即将介绍的locate时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。 但是该数据库文件并不是实时更新,默认情况下时一星期更新一次,因此,我们在用whereis和locate查找文件时,有时会找到已经被删除的数据,或者刚刚建立文件,却无法查找到,原因就是因为数据库文件没有被更新。 1.命令格式: whereis[-bmsu][BMS目录名-f]文件名 2.命令功能: whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。 3.命令参数: -b定位可执行文件。 -m定位帮助文件。 -s定位源代码文件。 -...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程