转自 http://blog.sina.com.cn/s/blog_67eb1f2f0100mgd8.html

ldd <可执行文件名>       查看可执行文件链接了哪些  系统动态链接库
nm <可执行文件名>       查看可执行文件里面有哪些符号
strip <可执行文件名>      去除符号表可以给可执行文件瘦身
如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令
strings <可执行文件名>

Linux操作系统上面的动态共享库大致分为三类:

1、操作系统级别的共享库和基础的系统工具库

比方说libc.so, libz.so, libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会有/lib64和/usr /lib64目录。如果操作系统带有图形界面,那么还会有/usr/X11R6/lib目录,如果是64位操作系统,还有/usr/X11R6 /lib64目录。此外还可能有其他特定Linux版本的系统库目录。

这些系统库文件的完整和版本的正确,确保了Linux上面各种程序能够正常的运行。

2、应用程序级别的系统共享库

并非操作系统自带,但是可能被很多应用程序所共享的库,一般会被放在/usr/local/lib和/usr/local/lib64这两个目录下 面。很多你自行编译安装的程序都会在编译的时候自动把/usr/local/lib加入gcc的-L参数,而在运行的时候自动到/usr/local /lib下面去寻找共享库。

以上两类的动态共享库,应用程序会自动寻找到他们,并不需要你额外的设置和担心。这是为什么呢? 因为以上这些目录默认就被加入到动态链接程序的搜索路径里面了。Linux的系统共享库搜索路径定义在/etc/ld.so.conf这个配置文件里面。 这个文件的内容格式大致如下:

/usr/X11R6/lib64  
/usr/X11R6/lib  
/usr/local/lib  
/lib64  
/lib  
/usr/lib64  
/usr/lib  
/usr/local/lib64  
/usr/local/ImageMagick/lib

假设我们自己编译安装的ImageMagick图形库在/usr/local/ImageMagick目录下面,并且希望其他应用程序都可以使用 ImageMagick的动态共享库,那么我们只需要把/usr/local/ImageMagick/lib目录加入/etc/ld.so.conf文 件里面,然后执行:ldconfig 命令即可。

ldcofig将搜索以上所有的目录,为共享库建立一个缓存文件/etc/ld.so.cache。为了确认ldconfig已经搜索到ImageMagick的库,我们可以用上面介绍的strings命令从ld.so.cache里面抽取文本信息来检查一下:

strings /etc/ld.so.cache | grep ImageMagick

输出结果为:

/usr/local/ImageMagick/lib/libWand.so.10  
/usr/local/ImageMagick/lib/libWand.so  
/usr/local/ImageMagick/lib/libMagick.so.10  
/usr/local/ImageMagick/lib/libMagick.so  
/usr/local/ImageMagick/lib/libMagick++.so.10  
/usr/local/ImageMagick/lib/libMagick++.so
已经成功了!

3、应用程序独享的动态共享库

有很多共享库只被特定的应用程序使用,那么就没有必要加入系统库路径,以免应用程序的共享库之间发生版本冲突。因此Linux还可以通过设置环境变 量LD_LIBRARY_PATH来临时指定应用程序的共享库搜索路径,就像我们上面举的那个例子一样,我们可以在应用程序的启动脚本里面预先设置 LD_LIBRARY_PATH,指定本应用程序附加的共享库搜索路径,从而让应用程序找到它。

linux 查看可执行文件动态链接库相关信息(转)相关推荐

  1. Linux查看主板的相关信息

    一条命令就能知道主板的一些信息,具体的内容就无需解释了,诸如厂商啊什么的,英文词的借助Google吧,哈哈 转载于:https://blog.51cto.com/kumu1988/1086248

  2. linux查看输出的信息,linux查看java的输出信息

    linux查看java的输出信息 [2021-02-04 22:41:35]  简介: php去除nbsp的方法:首先创建一个PHP代码示例文件:然后通过"preg_replace(&quo ...

  3. lsof查看进程占用文件_lsof命令查看进程socket相关信息

    1.释义 查看进程打开的文件.目录,还可以查看进程监听的端口等socket相关的信息 2.系统帮助 lsof: illegal option character: - lsof: -e not fol ...

  4. 计算机的相关配置信息,win7系统查看电脑配置相关信息的方案介绍

    win7系统使用久了,好多网友反馈说win7系统查看电脑配置相关信息的问题,非常不方便.有什么办法可以永久解决win7系统查看电脑配置相关信息的问题,面对win7系统查看电脑配置相关信息的图文步骤非常 ...

  5. linux查看显卡核心数,linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 | 帮助信息-动天数据...

    linux查看硬件信息,linux查看硬盘信息,linux查看CPU信息,linux查看显卡,硬件型号信息 作者:dthost | 时间:2015-09-30 | 8,325 次阅读 linux服务器 ...

  6. 多个cpu+linux,linux查看多个cpu信息

    CPU作为电脑的核心组成部份,它的好坏直接影响到电脑的性能.下面是学习啦小编带来的关于linux查看多个cpu信息的内容,欢迎阅读! linux查看多个cpu信息: cat /proc/cpuinfo ...

  7. netstat命令---Linux查看网络和socket信息

    netstat命令---Linux查看网络和socket信息 usage: netstat [-pWrxwutneal] Display networking information. -r  Dis ...

  8. Linux查看某个用户账号过期信息

    Linux查看某个用户账号过期信息 设置新用户缺省密码的过期时间 设置某个用户的密码有效期 查看某个用户的密码状态 `Password expires`和`Password inactive`区别 设 ...

  9. Linux查看当前操作系统版本信息

    # cat /proc/version (Linux查看当前操作系统版本信息)

最新文章

  1. ESX上ORACLE 10.2RAC(4.在REHAT4.7中安装ORACLE RAC)
  2. samba+quota配置
  3. 部署OpenStack问题汇总(五)--openstack中删除虚拟主机,状态一直未deleting
  4. 浙江省计算机二级办公软件高级应用分值,浙江计算机二级高级办公软件word题分值是多少...
  5. Nginx——安装详解
  6. [Linux]使用宝塔面板做负载均衡时遇到的问题和解决办法
  7. linux window nginx性能,KVM虚拟机 Nginx性能测试
  8. 屏幕录像软件Community Clips Recorder简介及其使用技巧
  9. .Net Micro Framework移植基础(包编译通过)
  10. 在函数‘_start’中:对‘main’未定义的引用
  11. Python 语言参考手册
  12. 一网打尽车载以太网之SOMEIP(上)
  13. Scala实现Kafka生产者与消费者实例
  14. 【学会了学会了】Flink官网翻译——Flink集群部署概览
  15. H5 video 自动播放(autoplay)不生效解决方案
  16. 微信小程序Audio音频(有关歌曲和图片的路径)
  17. Windows Server 2008 简体中文 正式版 下载
  18. 美国音乐学院计算机音乐专业排名2015年,美国音乐学院排名小提琴专业排名大全(本科)...
  19. 小米无线显示电脑连接到服务器,小米手机无线连接电脑_小米手机无线显示电脑...
  20. SpringBoot druid配置datasource启动初始化数据库连接

热门文章

  1. 【2012百度之星/资格赛】C: 易手机的套餐
  2. c:forEach, c:forTokens 标签
  3. JAVA web 会话技术CookieSession
  4. MyBatis与Hibernate比较
  5. 完成了C++作业,本博客现在开始全面记录acm学习历程,真正的acm之路,现在开始
  6. jQuery 插件 Validation表单验证 使用步骤(详细的)
  7. 浅谈ref与out区别
  8. /*3.使用二维数组存储班上五个学生三门功课的考试成绩,要求输出每一个学生的总分、平均分、最高分、最低分。
  9. Java Web开发小结
  10. [LeetCode] Invert Binary Tree - 二叉树翻转系列问题