UNPKG

3.11 kBMarkdownView Raw
1ar
2===
3
4建立或修改备存文件,或是从备存文件中抽取文件
5
6## 补充说明
7
8**ar命令** 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限
9
10### 语法
11
12```shell
13用法: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
14 ar -M [<mri-脚本]
15```
16
17### 选项
18
19> 以下内容来自 GNU ar (GNU Binutils) 2.40 版本指令
20
21```shell
22命令:
23 d - 从归档文件中删除文件
24 m[ab] - 在归档文件中移动文件
25 p - 打印在归档文件中找到的文件
26 q[f] - 将文件快速追加到归档文件中
27 r[ab][f][u] - 替换归档文件中已有的文件或加入新文件
28 s - 作为 ranlib 工作
29 t[O][v] - display contents of the archive
30 x[o] - 从归档文件中分解文件
31特定命令修饰符:
32 [a] - 将文件置于 [成员名] 之后
33 [b] - 将文件置于 [成员名] 之前 (于 [i] 相同)
34 [D] - 将 0 用于时间戳和 uid/gid(默认)
35 [D] - 使用实际时间戳和 uid/gid
36 [N] - 使用名称的实例 [数量]
37 [f] - 截去插入的文件名称
38 [P] - 在匹配时使用完整的路径名
39 [o] - 保留原来的日期
40 [O] - display offsets of files in the archive
41 [u] - 只替换比当前归档内容更新的文件
42通用修饰符:
43 [c] - 不在必须创建库的时候给出警告
44 [s] - 创建归档索引 (cf. ranlib)
45 [l <text> ] - specify the dependencies of this library
46 [S] - 不要创建符号表
47 [T] - deprecated, use --thin instead
48 [v] - 输出较多信息
49 [V] - 显示版本号
50 @<file> - 从 <file> 读取选项
51 --target=BFDNAME - 指定目标对象格式为 BFDNAME
52 --output=DIRNAME - specify the output directory for extraction operations
53 --record-libdeps=<text> - specify the dependencies of this library
54 --thin - make a thin archive
55可选项:
56 --plugin <p> - 加载指定的插件程序
57仿真选项:
58 没有仿真特有的选项
59```
60
61### 实例
62
63打包文件
64
65```shell
66[root@localhost ~]# ls # 显示当前目录文件
67a.c b.c d.c install.log qte
68anaconda-ks.cfg c.c Desktop
69
70[root@localhost ~]# ar rv one.bak a.c b.c # 打包 a.c b.c文件
71ar: 正在创建 one.bak
72a - a.c
73a - b.c
74```
75
76打包多个文件
77
78```shell
79[root@localhost ~]# ar rv two.bak *.c // 打包以.c结尾的文件
80ar: 正在创建 two.bak
81a - a.c
82a - b.c
83a - c.c
84a - d.c
85```
86
87显示打包文件的内容
88
89```shell
90[root@localhost ~]# ar t two.bak
91a.c
92b.c
93c.c
94d.c
95```
96
97删除打包文件的成员文件
98
99```shell
100[root@localhost ~]# ar d two.bak a.c b.c c.c
101[root@localhost ~]# ar t two.bak
102d.c
103```
104
105
106