五、函数库管理
1、函数库分类
静态函数库:函数库文件一般以“*.a”扩展名结尾。这种函数库在被程序调用时会被直接整合到程序当中
优点:程序执行时,不需要在调用外部数据,可以直接执行
缺点:因为把所有内容都整合到程序中,所以编译生成的文件会比较大升级比较困难,需要把整个程序都重新编译
2、动态函数库:函数库文件通常以“*.so”扩展名结尾。这种函数库被程序调用时,并没有直接整合到程序当中,当程序需要用到函数库的功能时,在去读取函数库。在程序中只保存了函数库的指向
2、函数库管理
1)安装函数库
[root@localhost ~]# ldd -v 可执行文件名
选项: -v 显示 详细版本信息
查询系统中调用了那些函数库,命令如下
[root@localhost ~]# ldd –v 可以执行文件名
选项:
-v 显示详细版本信息
查看ls命令下调用了那些函数库
[root@localhost ~]# ldd /bin/ls
linux-vdso.so.1=> (0x00007fff60bff000)
libselinux.so.1 =>/lib64/libselinux.so.1 (0x0000003a06a00000)
librt.so.1 =>/lib64/librt.so.1 (0x0000003a06200000)
libcap.so.2 =>/lib64/libcap.so.2 (0x0000003a07a00000)
libacl.so.1 =>/lib64/libacl.so.1 (0x0000003a08a00000)
libc.so.6 =>/lib64/libc.so.6 (0x0000003a05600000)
libdl.so.2 =>/lib64/libdl.so.2 (0x0000003a05200000)
/lib64/ld-linux-x86-64.so.2(0x0000003a04e00000)
libpthread.so.0 =>/lib64/libpthread.so.0 (0x0000003a05a00000)
libattr.so.1 =>/lib64/libattr.so.1 (0x0000003a08200000)
如果安装了新的函数库,如何让系统识别,其实软件正常安装是不需要手工调整函数库的,他们都会被正常安装,但是没有正确安装,需要手工安装那也很简单,只需要把函数库放入指定位置,一般都放在“/usr/lib”或“/lib”中,然后把函数库所在目录写入“/etc/ld.so.conf”文件。注意是函数库所在目录名写入不是函数库的文件名。比如:
[root@localhost ~]# cp *.so /usr/lib #把函数库拷贝入/usr/lib目录
[root@localhost ~]# vi /etc/ld.so.conf #修改函数库配置文件
include ld.so.conf.d/*.conf
/usr/lib #写入函数库所在目录(其实/usr/lib目录默认已经被识别)
然后使用ldconfig命令重新读取/etc/ld.so.conf文件,把函数库读入缓存就可以,命令如下:
[root@localhost~]# ldconfig #从/etc/ld.so.conf中把函数库读入缓存
[root@localhost~]# ldconfig –p #列出系统缓存中所有识别的函数库
补充:
date #查看系统时间
date–s 20150506 #设定日期
date –s 09:30:00 #设定时间
du –sh 目录名 #统计目录大小
-s 和
-h 习惯单位
本文出自 “吴老二” 博客,谢绝转载!
原文地址:http://9827789.blog.51cto.com/9817789/1656945