LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

轻松掌握linux ldd命令的技巧,成为高效开发者与管理员

2023年3月8日 675点热度

如果你是一名Linux开发者或系统管理员,那么你很可能会用到ldd命令。这个命令可以帮助你检查一个可执行文件或共享库文件所依赖的动态链接库。本文将深入探讨ldd命令的使用方法和技巧。

1.简介

ldd是一个Linux系统下的命令行工具,用于列出一个可执行文件或共享库文件所依赖的动态链接库。它可以帮助我们查找缺失的依赖项,以及定位程序崩溃的原因。

2.命令格式

ldd命令的基本格式如下:

```

ldd [options] file...

```

其中,file是要检查的可执行文件或共享库文件。options是一些选项参数,可以控制输出信息的详细程度。

3.常用选项

-v:显示详细信息;

linux ldd_linux ldd命令怎么用_linux ldd命令如何用

-u:列出未解析的符号;

-r:递归查找依赖项;

-d:只显示共享库路径。

4.输出结果解析

当我们运行ldd命令时,它会输出类似下面的结果:

```

linux-vdso.so.1(0x00007ffd7c1c3000)

libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007f6b2c4a4000)

libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007f6b2c29f000)

libstdc++.so.6=>/usr/lib/x86_64-linux-gnu/libstdc++.so.6(0x00007f6b2bebb000)

libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007f6b2bb1e000)

libgcc_s.so.1=>/lib/x86_64-linux-gnu/libgcc_s.so.1(0x00007f6b2b901000)

libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007f6b2b50f000)

/lib64/ld-linux-x86-64.so.2(0x00007f6b2c8e1000)

```

每一行表示一个依赖项linux视频教程,包括依赖库名称和路径。其中linux软件工程师,第一列表示动态链接器使用的虚拟库(VDSO),它是内核提供给用户空间程序调用一些内核函数的接口。最后一行表示动态链接器本身。

5.实例分析

我们来看一个实际例子:假设我们有一个名为myprogram的可执行文件,我们想要检查它所依赖的库。

```

$ ldd myprogram

```

输出结果如下:

linux ldd_linux ldd命令怎么用_linux ldd命令如何用

```

linux-vdso.so.1(0x00007ffd7c1c3000)

libpthread.so.0=>/lib/x86_64-linux-gnu/libpthread.so.0(0x00007f6b2c4a4000)

libdl.so.2=>/lib/x86_64-linux-gnu/libdl.so.2(0x00007f6b2c29f000)

libstdc++.so.6=>/usr/lib/x86_64-linux-gnu/libstdc++.so.6(0x00007f6b2bebb000)

libm.so.6=>/lib/x86_64-linux-gnu/libm.so.6(0x00007f6b2bb1e000)

libgcc_s.so.1=>/lib/x86_64-linux-gnu/libgcc_s.so.1(0x00007f6b2b901000)

libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007f6b2b50f000)

/lib64/ld-linux-x86-64.so.2(0x00007f6b2c8e1000)

```

这个例子中linux ldd命令如何用,我们可以看到myprogram所依赖的所有库以及它们对应的路径。

接下来,我们使用-u选项来列出未解析的符号:

```

$ ldd -u myprogram

```

输出结果如下:

```

linux-vdso.so.1(0x00007ffc73de8000)

libc.so.6=>/lib/x86_64-linux-gnu/libc.so.6(0x00007fa9dc08e000)

undefined symbol:_ZNSt8ios_base4InitD1Ev (/usr/local/bin/myprogram)

```

在这个例子中,我们可以看到myprogram未能解析一个名为_ZNSt8ios_base4InitD1Ev(C++标准库)的符号。

最后linux ldd命令如何用,我们使用-d选项来只显示共享库路径:

```

$ ldd -d myprogram

```

输出结果如下:

```

not a dynamic executable

```

这个示例中myprogram不是一个共享库,因此无法使用-d选项。

总结

通过本文对ldd命令进行详细讲解,相信读者已经了解了该命令的基本用法和常见技巧。在实际工作中,灵活使用该命令可以帮助开发者更快地定位程序问题并解决它们。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: linux系统
最后更新:2023年3月8日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
VMware过期Linux系统CentOS7下载安装1.77下载地址 红旗linux操作系统v11.0-红旗操作系统操作系统吗? 5yw红软基地驱动完美支持windows、mac、linux系统 轻松安装ZeroMQ:Ubuntu系统必备的解决方案 怎么在Win7系统虚拟机上安装LinuxUbuntu的技巧?在这里 Linux必备!安装RAR解压器,轻松解压文件! 虚拟机linux系统下载 什么是linuxLinux(/托瓦兹)的Linux内核 文件永久删除还能找回来吗?关于Win和Mac系统的恢复方法 Ubuntu16.04怎样安装系统更新和应用更新16.04 网卡 centos 启动 Linux选择选择时各企业所参考的依据:以下内容和Centos Linux内核内存检测工具系列中的一篇,配置以及典型应用 虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载 0渗透操作0x02绕过disable_functions插件(组图) 【好玩的网络-第2.5期】分配IP有哪些骚操作?小白保姆级教程 Windows远程连接工具、Ubuntu系统的安装软件及系统 Linux一模一样远程连接编辑的操作图是什么? DRAM中的虚拟地址空间的缓存简化内存管理(组图) 2.5创建和配置虚拟机2.5.1创建虚拟机双击桌面的VMwarePlayer 掌握Linux基础命令-上海怡健医学系统 服务器上安装linux系统的具体操作过程-如何选择系统?
Linux文件路径查询方法,轻松获取文件位置Linux移植6410:从零开始的挑战!linux php安装 快速掌握Linux下PHP安装,轻松入门流行技术linux patch 文件 解决LinuxPatch文件10大疑难杂症,轻松应对!Ubuntu系统更改IP地址的简易教程,跟随以下步骤即可搞定!高效搭建Linux Android开发环境,轻松提升开发体验轻松掌握:如何查询Linux内核版本?Linux安装Matlab指南,快速掌握安装步骤Ubuntu 16安装网卡驱动教程,轻松解决网络连接问题Linux启动时,不使用图形界面可能更有效率!移植Linux,手机变身“大杀器”!详解8大关键操作Linux更高效,掌握启动终端快捷键!纯Python库实现上面介绍的HTML转换为PDF的软件Fedora 13服务器配置指南:9个实用技巧全解析9种方法轻松获取Linux版本,快速掌握系统信息!博客韦东山freeRTOS系列教程:入门文档教程+进阶视频教程轻松掌握linux ldd命令的技巧,成为高效开发者与管理员Linux VPS安全检测,保障服务器稳定运行!Linux下高效开发必备:配置Tomcat和JDK分析Linux中的I2C驱动程序框架核心结构(i2c-bus结构)
LINUX设备驱动程序(第3版)-设备 在单片机与嵌入式linux的应用与驱动操作(组图) 想要在安卓手机上体验Linux操作系统在直接途径上并不可能 Linux下程序的存放目录和安装目录 Linux系统中常用的有两个账户和普通账户的区别 kali渗透测试系列文章目录信息收集信息网站的常见漏洞 linux 创建链接文件 Linux链接分两种,一种被称为硬链接(SymbolicLink) PS教程:如何用gif文件来形容文件的意思? 英伟达显卡驱动怎么安装?显卡怎么用? mysql执行sql脚本文件的方法:SQLServerjava能写游戏吗 关于GNU/Linux操作系统上运行的Linux内核版本的通知 10.5内核定时器编程TIMER_SOFTIRQ软中断,运行当前处理器CPU上到期的所有定时器 Linux七种运行级别(0-6)预置的启动流程 《嵌入式C/C++系统工程师实训教程》培训班 树莓派2正式发布支持微软Windows10操作系统派 如何找到Linux内核的版本号?或全部答案来修复 Linux一模一样远程连接编辑的操作图是什么? 来说一说Python的第三方第三方库可以按照python打包的目录结构要求来搭建 local文件在启动时执行与命令一行来执行命令 轻松安装ZeroMQ:Ubuntu系统必备的解决方案
标签聚合
虚拟机 sudo 软件 电脑 linux脚本 命令 linux系统 命令模式 linux服务器 文件目录
书籍
课程
技术群
技术干货大合集↓
  • 2023年3月 / 112篇
  • 2023年2月 / 84篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇
友情链接:

Linux书籍 | Linux命令 | Linux系统 | RHCE红帽认证 | Linux软件 | Linux教程 | CentOS系统 | Linux内核 | Linux服务器 | Linux大神 | IT资源

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.