Linux 库应用命令
Posted 傲娇纱雾酱
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 库应用命令相关的知识,希望对你有一定的参考价值。
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 库应用命令的主要内容,如果未能解决你的问题,请参考以下文章