1 | ar
|
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 # 显示当前目录文件
|
67 | a.c b.c d.c install.log qte
|
68 | anaconda-ks.cfg c.c Desktop
|
69 |
|
70 | [root@localhost ~]# ar rv one.bak a.c b.c # 打包 a.c b.c文件
|
71 | ar: 正在创建 one.bak
|
72 | a - a.c
|
73 | a - b.c
|
74 | ```
|
75 |
|
76 | 打包多个文件
|
77 |
|
78 | ```shell
|
79 | [root@localhost ~]# ar rv two.bak *.c // 打包以.c结尾的文件
|
80 | ar: 正在创建 two.bak
|
81 | a - a.c
|
82 | a - b.c
|
83 | a - c.c
|
84 | a - d.c
|
85 | ```
|
86 |
|
87 | 显示打包文件的内容
|
88 |
|
89 | ```shell
|
90 | [root@localhost ~]# ar t two.bak
|
91 | a.c
|
92 | b.c
|
93 | c.c
|
94 | d.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
|
102 | d.c
|
103 | ```
|
104 |
|
105 |
|
106 |
|