linux ar命令参数及用法详解--linux建立、修改或抽取备存文件命

功能说明:建立或修改备存文件,或是从备存文件中抽取文件。

语  法:ar[-dmpqrtx][cfosSuvV][a<成员文件>][b<成员文件>][i<成员文件>][备存文件][成员文件]

补充说明:ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。

参  数:
 指令参数 
 -d  删除备存文件中的成员文件。 
 -m  变更成员文件在备存文件中的次序。 
 -p  显示备存文件中的成员文件内容。 
 -q  将问家附加在备存文件末端。 
 -r  将文件插入备存文件中。 
 -t  显示备存文件中所包含的文件。 
 -x  自备存文件中取出成员文件。 
 选项参数 
 a<成员文件>  将文件插入备存文件中指定的成员文件之后。 
 b<成员文件>  将文件插入备存文件中指定的成员文件之前。 
 c  建立备存文件。 
 f  为避免过长的文件名不兼容于其他系统的ar指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。 
 i<成员文件>  将问家插入备存文件中指定的成员文件之前。 
 o  保留备存文件中文件的日期。 
 s  若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。 
 S  不产生符号表。 
 u  只将日期较新文件插入备存文件中。 
 v  程序执行时显示详细的信息。 
 V  显示版本信息。

范例1: 打包文件

[root@linuxso.com ~]# ls   //显示当前目录文件  
a.c b.c d.c   install.log   qte
anaconda-ks.cfg c.c Desktop 

[root@linuxso.com ~]# ar rv one.bak a.c b.c //打包 a.c b.c文件
ar: 正在创建 one.bak
a - a.c
a - b.c
[root@linuxso.com ~]#

范例2: 打包多个文件

[root@linuxso.com ~]# ar rv two.bak *.c  //打包以.c结尾的文件 
ar: 正在创建 two.bak
a - a.c
a - b.c
a - c.c
a - d.c
[root@linuxso.com ~]#


范例3:显示打包文件的内容

[root@linuxso.com ~]# ar t two.bak   
a.c
b.c
c.c
d.c
[root@linuxso.com ~]#


范例4:删除打包文件的成员文件

[root@linuxso.com ~]# ar d two.bak a.c b.c c.c 
[root@linuxso.com ~]# ar t two.bak      
d.c
[root@linuxso.com ~]# 

使用示例:
1、构造可重用的库文件,并显示构造每个成员的文件详细过程。有文件a1,a2放到库lib中
 
ar -rv lib  a1,a2
 
2、检查示lib上的成员文件,并添加一个新的文件。
root@linuxso.com:~# ar -tv lib
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a1
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a2
 
添加一个新文件:
root@linuxso.com:~# ar -tv lib
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a1
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a2
root@linuxso.com:~# ar -qv lib 小哨兵还原卡 
a - 小哨兵还原卡
root@linuxso.com:~# ar -tv lib
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a1
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a2
rw-r--r-- 1000/1000    880 Dec 31 17:19 2010 小哨兵还原卡
 
3、在lib库中的小哨兵还原卡前面插入文件
root@linuxso.com:~# ar -vbr 小哨兵还原卡  lib network 
a - network
root@linuxso.com:~# ar -tv lib
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a1
rw-r--r-- 1000/1000      0 Jan  2 18:01 2011 a2
rw-r--r-- 1000/1000   3489 Dec 31 22:39 2010 network
rw-r--r-- 1000/1000    880 Dec 31 17:19 2010 小哨兵还原卡
 
注:
(1)不能添加目录文件
(2)添加的文件必须是普通文件
(3)在使用-a,-b,-i时,必须在命令行指明一个在库中已经存在的成员
Mr Wang Ever Work In Baidu mr.wang.self@gmail.com
原文地址:https://www.cnblogs.com/studystudent/p/3297976.html