补充说明

ar命令 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成
为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限.

语法

ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin] [member-name] [count] archive-file file...ar -M [<mri-脚本]

选项

ar(archive)命令是Linux系统中用于创建、修改和提取归档文件的命令。它支持多种归档文件格式,如.a(静态库文件)和.o(目标文件)。

下面是ar命令的语法和语法说明:

选项功能
-c创建归档文件
-r将文件添加到归档文件中
-d从归档文件中删除文件
-t列出归档文件中的文件
-x从归档文件中提取文件
-u更新归档文件中的文件
-m在归档文件中移动文件
-p显示归档文件的头部信息
-s为归档文件创建索引
-M指定自定义的魔术数字(归档文件类型)
-E使用长名称(64位)存储成员名
-S为每个成员生成符号表
-i生成索引后,插入成员到指定位置
-k保留已存在的输出文件
-l生成一个文本列表,包含归档文件中的成员名和字节偏移量
-q静默模式,不输出任何信息
-v详细模式,输出更多信息
-f指定归档文件的名称
-A添加日期戳到归档文件中的成员
-P使用完整的路径名存储成员名
-T从指定的模板文件中读取成员名和字节偏移量
-@从指定的文件中读取成员名和字节偏移量

示例:

# 创建归档文件$ ar -rc libexample.a example1.o example2.o# 列出归档文件中的文件$ ar -t libexample.a# 从归档文件中提取文件$ ar -x libexample.a example1.o

选项参数

--plugin 

- load the specified plugin

ar:支持的目标:
elf64-x86-64
elf32-i386
elf32-x86-64
a.out-i386-linux
pei-i386
pei-x86-64
elf64-l1om
elf64-k1om
elf64-little
elf64-big
elf32-little
elf32-big
plugin
srec
symbolsrec
verilog
tekhex
binary
ihex

示例

打包文件

[root@localhost ~]# ls # 显示当前目录文件a.c b.c d.c install.log qteanaconda-ks.cfg c.c Desktop[root@localhost ~]# ar rv one.bak a.c b.c # 打包 a.c b.c文件ar: 正在创建 one.baka - a.ca - b.c

打包多个文件

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

显示打包文件的内容

[root@localhost ~]# ar t two.baka.cb.cc.cd.c

删除打包文件的成员文件

[root@localhost ~]# ar d two.bak a.c b.c c.c[root@localhost ~]# ar t two.bakd.c