ar
/usr/ccs/bin/ar [-V] key [args] [posname] archive [files]
将一组编译过的文件合并为一个文件.最常见的用法就是建立并更新由装载器(loader--ld)使用的库文件.在参数中,只有key可以使用,但是每个key都可以加上附加的args(中间不带空格).posname是合并后文件包的文件名.当移动或是替代files的时候,你可以在posname之前或之后进行说明.
在Solaris中,在key和args之前可以使用a -,.
就像正则表达式的使用一样
Key:
d 从文件包中删除文件
m 从文件包中移动文件到包尾
p 打印出文件包中的文件
q 在文件包尾加入文件.
r 在文件包中代替文件.
t 列出包中文件名为files指明的文件名的文件内容.
x 从文件包中解压出文件名为files指明的文件.
Args:
a 与r或m共同使用来将files指明的文件放置于posname之后
b 与a作用相同,但是是在posname之前使用.
c 无提示模式创建文件包
C 只有Solaris里面有这个参数.意思为不要用从文件包中解压出来的文件代替已有的同名的文件.
i 与b相同.
s 强制重新生成文件包的符号表
T 只在Solaris中有这个参数.在不支持长文件名的文件系统中减短长文件名.没有这个操作的话,长文件的解压结果是错误的.
u 与r共同使用,用来仅取代那些在生成文件包之后改动过的文件.
v 细节化,并打印一个文件包的描述
实例:
用在当前目录下的目标文件更新在mylib.a中的目标文件的版本.在mylib.a中而不在当前文件夹下的其他文件则不被替代.这样的情况下使用命令:
ar r mylib.a *.o