首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
linux
apache
server
sftp
k8s
curl
压力测试
tomcat
dns
awk
运维
centos7
ubuntu
jenkins
kubectl
ssh
zsh
tengine
7层
log4j
负载均衡
路由器
容器
port
cron
touch
crontab
debian
colors
devops
nginx
sudo
syslog
4层
ftp
unix
grafana
docker
服务器
fabric
shell
vagrant
交换机
centos
grep
service
当前位置:
开发笔记
>
运维
> 正文
LinuxShell脚本Ldd命令原理使用方法
作者:lluuaalulua619 | 来源:互联网 | 2017-06-26 22:51
文章标题:LinuxShell脚本Ldd命令原理使用方法。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
1、首先ldd不是一个可执行程序,而只是一个shell脚本
2、ldd能够显示可执行模块的dependency,其原理是通过设置一系列的环境变量,如下:LD_TRACE_LOADED_OBJECTS、LD_WARN、LD_BIND_NOW、LD_LIBRARY_VERSION、 LD_VERBOSE等。当LD_TRACE_LOADED_OBJECTS环境变量不为空时,任何可执行程序在运行时,它都会只显示模块的 dependency,而程序并不真正执行。要不你可以在shell终端测试一下,如下:
(1) export LD_TRACE_LOADED_OBJECTS=1
(2) 再执行任何的程序,如ls等,看看程序的运行结果
3、ldd显示可执行模块的dependency的工作原理,其实质是通过ld-linux.so(elf动态库的装载
器)来实现的。我们知道,ld-linux.so模块会先于executable模块程序工作,并获得控制权,因此当上述的那些环境变量被设置时,ld-linux.so选择了显示可执行模块的dependency.
4、实际上可以直接执行ld-linux.so模块,如:/lib/ld-linux.so.2 ——list program(这相当于ldd program)
ldd命令使用方法(摘自ldd ——help)
名称 ldd - 打印共享库的依赖关系
大纲 ldd [选项]…… 文件……
描述 ldd 输出在命令行上指定的每个程序或共享库需要的共享库。
选项
——version
打印ldd的版本号
-v ——verbose
打印所有信息,例如包括符号的版本信息
-d ——data-relocs
执行符号重部署,并报告缺少的目标对象(只对ELF格式适用)
-r ——function-relocs
对目标对象和函数执行重新部署,并报告缺少的目标对象和函数(只对ELF格式适用)
——help 用法信息
注意:
ldd的标准版本与glibc2一起提供。Libc5与老版本以前提供,在一些系统中还存在。在libc5版本中长选项不支持。另一方面,glibc2版本不支持-V选项,只提供等价的——version选项。
如果命令行中给定的库名字包含'/',这个程序的libc5版本将使用它作为库名字;否则它将在标准位置搜索库。运行一个当前目录下的共享库,加前缀"./".
错误:
ldd不能工作在a.out格式的共享库上。
ldd不能工作在一些非常老的a.out程序上,这些程序在支持ldd的编译器发行前已经创建。如果你在这种类型的程序上使用ldd,程序将尝试argc = 0的运行方式,其结果不可预知。
linux
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
dns
rhel5.5搭建网关+LAMP+postfix+dhcp的步骤和配置方法
本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ...
[详细]
蜡笔小新 2023-12-14 17:13:20
运维
大数据就业前景及人才需求
近年来,大数据成为互联网世界的新宠儿,被列入阿里巴巴、谷歌等公司的战略规划中,也在政府报告中频繁提及。据《大数据人才报告》显示,目前全国大数据人才仅46万,未来3-5年将出现高达150万的人才缺口。根据领英报告,数据剖析人才供应指数最低,且跳槽速度最快。中国商业结合会数据剖析专业委员会统计显示,未来中国基础性数据剖析人才缺口将高达1400万。目前BAT企业中,60%以上的招聘职位都是针对大数据人才的。 ...
[详细]
蜡笔小新 2023-12-14 16:25:20
linux
Python语法上的区别及注意事项
本文介绍了Python2x和Python3x在语法上的区别,包括print语句的变化、除法运算结果的不同、raw_input函数的替代、class写法的变化等。同时还介绍了Python脚本的解释程序的指定方法,以及在不同版本的Python中如何执行脚本。对于想要学习Python的人来说,本文提供了一些注意事项和技巧。 ...
[详细]
蜡笔小新 2023-12-14 11:27:53
port
Oracle中tnsnames.ora的作用和配置方法
本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ...
[详细]
蜡笔小新 2023-12-14 07:44:06
linux
Linux进程控制块PCBtask_struct结构体结构及作用详解
本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ...
[详细]
蜡笔小新 2023-12-13 21:31:18
server
图解redis的持久化存储机制RDB和AOF的原理和优缺点
本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ...
[详细]
蜡笔小新 2023-12-13 20:24:11
linux
Linux下Perl的安装及第一个程序运行
本文介绍了在Linux下安装Perl的步骤,并提供了一个简单的Perl程序示例。同时,还展示了运行该程序的结果。 ...
[详细]
蜡笔小新 2023-12-13 18:29:11
apache
解决Mac上无法使用localhost连接mysql的问题
本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ...
[详细]
蜡笔小新 2023-12-13 17:48:58
server
计算机存储系统的层次结构及其优势
本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ...
[详细]
蜡笔小新 2023-12-13 17:32:41
ubuntu
Webmin远程命令执行漏洞复现及防护方法
本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ...
[详细]
蜡笔小新 2023-12-13 16:14:53
linux
Linux磁盘的分区、格式化的观察和操作步骤
本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ...
[详细]
蜡笔小新 2023-12-13 15:57:13
ubuntu
Linux 正则表达式基础及使用注意事项
本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ...
[详细]
蜡笔小新 2023-12-13 14:24:45
debian
Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ...
[详细]
蜡笔小新 2023-12-13 13:30:30
ssh
如何在服务器主机上实现文件共享的方法和工具
本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ...
[详细]
蜡笔小新 2023-12-13 13:23:48
linux
问题2:重新命名或者移动数据文件、日志文件到新的位置
本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ...
[详细]
蜡笔小新 2023-12-13 13:02:24
lluuaalulua619
这个家伙很懒,什么也没留下!
Tags | 热门标签
linux
apache
server
sftp
k8s
curl
压力测试
tomcat
dns
awk
运维
centos7
ubuntu
jenkins
kubectl
ssh
zsh
tengine
7层
log4j
负载均衡
路由器
容器
port
cron
touch
crontab
debian
colors
devops
RankList | 热门文章
1
一招搞定PHP5到PHP7的注意事项
2
算法训练 瓷砖铺放(递归)
3
vb.net网口通讯,vbnet socket
4
帝国调用html标签,帝国cms实现 tags标签伪静态,tags标签使用ID.html命名
5
mixin模式 python_python用法——Mixin
6
如何在SQLSever中更好地使用LIKE?
7
nfs服务端服务停掉,导致的客户端访问挂载目录卡死的情况
8
Win10打开U盘提示“由于i/o设备错误无法运行此项请求”怎么办?
9
【PTA】英文单词排序
10
地址锁存器,总线控制器,双向总线驱动器(数据缓冲器),时钟发生器。8088最小工作模式。
11
java中list取前4条数据
12
智能路由与智能网关:是东风压倒西风,还是西风压倒东风?
13
PHP可否获取客户端的MAC地址?
14
保护文档不被修改的正确姿势,可全文也可部分保护,快来看
15
SRM144DIV1 Lottery
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有