码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 库应用命令

时间:2017-08-17 20:05:29      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:输出   文件名   数据   objdump   动态链接   libc   lin   一个   mysq   

ldconfig  配置查找共享库(ldconfig执行两个基本函数处理共享库,首先创建连接,这样才能保证到共享库引用的是最新版本,然后在文件/etc/ld.so.cache中保存有效共享库的完整列表

ldconfig【选项】

-c  采用的格式--新旧或兼容(默认)

-l  手动连接独立的库

-n  只在命令行给出了进程目录,没有创建缓冲区

-p  打印缓冲区

-v  生成所有链接的列表,其中包括处理过程中的其他信息

--usage  给出简要的用法信息

想知道系统中有没有哪个动态链接库,可以用 -p让 ldconfig  输出缓存文件中的动态链接列表,从而查询得到,

查看 mysql  相关的动态动态链接库  ldconfig   -p   |  grep  mysql  

创建所有必要的新连接,生成文件  /etc/ld.so.cache  的新版本  ldconfig   /usr/local/lib

ldconfig-v  生成所有链接的列表,其中包括处理过程中的其他信息

nm  列举目标文件中的符号名(工具nm用来列举除目标文件,静态文档库或动态库中定义的或者引用此处的符号)

nm【选项】

选项太多了,懒得列举了。。。

nm  libc.a  列出目标模块的名字,以及库lbc.a定义或引用的所有符号

查找“cos”函数,知道一个函数的名字,但是不知道这个函数在什么库中定义的,那么可以使用nm的  -o   选项和grep命令来查找这个库的名字,-o,选项使得显示的每一行都有这个函数库文件名,。查找  cos  是在什么地方定义的   nm  -o  /lib/*   /usr/lib/*  /usr/lib/*/*    /usr/local/lib/*  2>    /dev/null

如果nm没有指定文件名,则会假设使用a.out。利用命令行选项,可以根据符号的地址,尺寸和名字组织这些符号,而且可以按照很多方式格式化这个输出结果,符号也可以被解码(demanled)产生的结果和源代码中的一样

ar  建立修改文件或从文件中抽取成员(ar命令用来建立,修改,提取归档文件)

ar【选项】archive  files

d  从归档中删除文件

m[ab]  在归档文件中移动文件

p  打印在归档文件中找到的图片

s  即使没有改动文档,也会创建新的文档索引,这和ranlib命令的结果一样

t  显示归档文件的内容

x【o】  从归档文件中分解文件

创建一个静态库,或者将目标代码加入到已经存在的静态库中  ar rcs  mylibraty.a  filel.o   file2.0

strip  去除目标文件中的无用信息(去除目标文件或命令指定文件的调试符号表信息。该目标文件可以是静态库,共享库,或者编译程序产生的.o文件)

srtip【选项】

-h  显示项目列表,然后退出

objdump(展开目标文件,静态库和共享库中的信息,将其表示成可读模式,该命令用于输出(dump来自不同用法目标文件的信息))

ldd  显示共享库的依赖情况

-v  显示ldd的版本号

-d  进行重定位

-r  对数据目标和函数进行重定位

查询共享库,查询php哪些共享库,可以先使用find命令查询这个程序的绝对路径,然后      find   -name   php        

                                             ldd   /usr/bin/php

累出linux系统上bash  shell  程序使用的共享库  ldd  /bin/bash

patch 修补文件(patch命令让用户利用设置修补文件的方式,修改。更新原始文件)

ld  连接器

 

Linux 库应用命令

标签:输出   文件名   数据   objdump   动态链接   libc   lin   一个   mysq   

原文地址:http://www.cnblogs.com/murongmengjie/p/7383713.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!