ar

建立或修改备存文件,或是从备存文件中抽取文件

补充说明

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

语法

  1. 用法: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoOPsSTuvV] [--plugin <name>] [member-name] [count] archive-file file...
  2. ar -M [<mri-脚本]

选项

以下内容来自 GNU ar (GNU Binutils) 2.40 版本指令

  1. 命令:
  2. d - 从归档文件中删除文件
  3. m[ab] - 在归档文件中移动文件
  4. p - 打印在归档文件中找到的文件
  5. q[f] - 将文件快速追加到归档文件中
  6. r[ab][f][u] - 替换归档文件中已有的文件或加入新文件
  7. s - 作为 ranlib 工作
  8. t[O][v] - display contents of the archive
  9. x[o] - 从归档文件中分解文件
  10. 特定命令修饰符:
  11. [a] - 将文件置于 [成员名] 之后
  12. [b] - 将文件置于 [成员名] 之前 (于 [i] 相同)
  13. [D] - 0 用于时间戳和 uid/gid(默认)
  14. [D] - 使用实际时间戳和 uid/gid
  15. [N] - 使用名称的实例 [数量]
  16. [f] - 截去插入的文件名称
  17. [P] - 在匹配时使用完整的路径名
  18. [o] - 保留原来的日期
  19. [O] - display offsets of files in the archive
  20. [u] - 只替换比当前归档内容更新的文件
  21. 通用修饰符:
  22. [c] - 不在必须创建库的时候给出警告
  23. [s] - 创建归档索引 (cf. ranlib)
  24. [l <text> ] - specify the dependencies of this library
  25. [S] - 不要创建符号表
  26. [T] - deprecated, use --thin instead
  27. [v] - 输出较多信息
  28. [V] - 显示版本号
  29. @<file> - <file> 读取选项
  30. --target=BFDNAME - 指定目标对象格式为 BFDNAME
  31. --output=DIRNAME - specify the output directory for extraction operations
  32. --record-libdeps=<text> - specify the dependencies of this library
  33. --thin - make a thin archive
  34. 可选项:
  35. --plugin <p> - 加载指定的插件程序
  36. 仿真选项:
  37. 没有仿真特有的选项

实例

打包文件

  1. [root@localhost ~]# ls # 显示当前目录文件
  2. a.c b.c d.c install.log qte
  3. anaconda-ks.cfg c.c Desktop
  4. [root@localhost ~]# ar rv one.bak a.c b.c # 打包 a.c b.c文件
  5. ar: 正在创建 one.bak
  6. a - a.c
  7. a - b.c

打包多个文件

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

显示打包文件的内容

  1. [root@localhost ~]# ar t two.bak
  2. a.c
  3. b.c
  4. c.c
  5. d.c

删除打包文件的成员文件

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