1.软文推荐

2.软文推荐

3.软文推荐

ar命令 是一个建立或修改备存文件,或是从备存文件中抽取文件的工具,ar可让您集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限,下面良许教程网为大家分享一下Linux常用命令ar命令具体使用方法。

ar

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

语法
 ar [-]{dmpqrtx}[abcfilNoPsSuvV] [membername] [count] archive files...
 Usage: ar [emulation options] [-]{dmpqrstx}[abcDfilMNoPsSTuvV] [--plugin ] [member-name] [count] archive-file file...
        ar -M [选项
 ar 允许你 在第一个 命令行 参数中 以任意 顺序 混合 指定 操作码p 和修饰符mod .
 
 只要你 愿意, 也可以 用破折号 作为 命令行 第一个 参数的 开始.
 
 p 关键字 指明 要执行的 操作, 只能 指明为 如下 之一:
 
 d      从档案中删除 模块. 通过files 指明 要删除的 模块的 名称; 如果 没有 指出 要删除的  文件  名称,  档案不会  改变  任何
       内容.
 
       如果 给出了'v' 修饰符,ar 会例出 它删除的 每一个 模块.
 
 m      用此 操作 在档案中移动 成员.
       如果 某个 符号名 在档案的 多个 成员中 有定义, 那么 程序 怎样 连接 档案 文件 得到的 结果 可能是 不同的.
       如果  没有为m 指定 修饰符, 由files 指出的 成员 将移动到 档案的末尾 ; 可以 通过 `a', `b' 或 `i' 等修饰符, 指定 成员
       移动的 具体 位置.
 
 p      在标准 输出上 打印 档案中 指定的 成员.  如果 给出了`v' 修饰符, 在 打印 成员 内容 之前, 先打印 成员的 名字.
       如果没有 指明files 参数, 档案中 所有的 成员 都会被 打印 出来.
 
 q      快速 追加; 增加 files 到 archive 的末尾, 不进行 替换 检查.
       修饰符 `a' `b' 和 `i'不 影响此 操作, 新成员 始终 追加到 档案的 末尾处.
       修饰符 `v' 可以使 ar 列出 它追加的 所有文件.
       由于 本功能 是用于 快速操作, 即使 档案中 有 符号表 索引 也不 进行 更新; 可以 使用 `ar s' 或 ranlib 明确 要求  更新
       这些索引.
 
       在为快速 追加 重建 索引时,由于 有 太多 不同的 系统, 所以 GNU ar 采用 `q' 作为 `r'的一个 同义字.
 
 r      把文件  files  插入 archive ( 替换 ). 本操作与 `q' 是不同的, 如果 档案中 已有的 某个 成员与 插入 文件的 名称 相同,
       此成员 将被删除.
       如果 不存在 名称为 files 的文件, ar 显示 一个 错误 消息, 并且 保留 档案中 已有的 同名 成员.
       缺省情况下, 新成员 增加到 挡案的 末尾; 可以 通过 使用 `a' `b' 或 `i' 等修饰符 指定 相对于 已有 成员的 位置.
       通过 使用 `v' 修饰符 会为每个 插入的 文件 产生 一行 输出, 根据 输出中的 字符 `a' 或 `r' 可以 表明 该文件  是追加的
       (没有 删除 以前的成员) 还是 替换的.
 
 t      显示  一个 archive 档案 所包含 内容的 列表 , 或 档案中的 由 files 指出的 文件 列表.  通常 只显示 成员的 名称, 如果
       使用 `v' 修饰符, 可以 得到 成员的 权限, 时间属性, 属主, 组和 大小.
 
       如果 没有 指出 files, 档案中的 所有 文件 都会 列出.
 
       如果 档案中 (称为 `b.a') 有多个 同名 成员 (称为 `fie'), `ar t b.a fie' 仅仅 列出 第一个; 要看到 它们的 全部,  必须
       要求 完整的 列表 —在本例中是 `ar t b.a'.
 
 x      从档案中 抽取  成员 (名称为 files) .  如果 使用 `v' 修饰符, ar 会列出 它抽取的 每一个 文件的 名字.
       如果没有给出 files, 抽取 档案中 所有的 文件.
 
 可以在 操作符 p 后紧随 一定数量的 修饰符 mod 以指明 操作的 各种 行为.
 
 a      增加 文件到 档案中 已有 成员 之后  , 如果 使用了 修饰符 a, 必须在 档案 名称 archive 之前 以 membername 参数的 形式
       给出 档案中 已有 成员的 名字.
 
 b      增加 文件到 档案中 已有 成员 之前  , 如果 使用了 修饰符 b, 必须在 档案 名称 archive 之前 以 membername 参数的 形式
       给出 档案中 已有 成员的 名字.  (和修饰符 `i' 相同).
 
 c      建立    档案.  指定的 档案 archive 始终 会被建立, 如果 你要求 执行的是 更新, 通过 此修饰符 建立 档案时 会给出 一个
       警告.
       
 f      截短 档案成员的 名字.  ar 通常 允许 任意 长度的 文件名, 但这会 导致 与某些 系统上的 ar 出现 兼容性  问题,  使用  f
       修饰符 可以 在往档案中 追加 文件时 把名字 截短.
 
 i      插入 文件到 档案中 已有 成员 之前  , 如果 使用了 修饰符 i, 必须在 档案 名称 archive 之前 以 membername 参数的 形式
       给出 档案中 已有 成员的 名字.  (与修饰符 `b' 相同).
 
 l      接受此修饰符, 但不起作用.
 
 N      使用 count 参数. 本修饰符 用于 在档案中 有多个 同名 成员的 情况.  删除 或抽取 档案中 给定 名字的第 count 个实例.
 
 o      抽取 成员时 保留 他们 原始的  时间属性. 如果 没有 此修饰符, 文件以抽取 的时间 作为 它的时间 属性.
 
 P      匹配 档案中的 名字时 使用 完整的 路径名.  ar 不能 建立 使用 完整 路径名的 档案  (这不符合  POSIX  标准),  但其它的
       档案  工具  能够建立, 本选项 会使 ar 在抽取 由其它 工具 建立的 档案 文件时, 使用完整的 路径名 去匹配 档案中 成员的
       名字.
 
 s      即使 没有对 档案 进行 改变, 用本 修饰符 也可以 往档案中 写一个 目标 文件的 索引 或更新 已经 存在的  索引.   可以与
       其它 操作 一起 使用 本修饰符, 也可以 单独使用.  对一个 档案 执行 `ar s' 与执行 `ranlib' 等价.
 
 S      不生成  档案的 符号表. 这可以 加速 建立 大的档案 文件的 过程,但这样 建立的 档案 不能被 连接器 使用, 为建立 符号表,
       在最后 执行 `ar' 时应该 不用 `S' 修饰符, 或者 对档案 执行 一次 `ranlib' .
 
 u      通常ar r... 把所有 列出的 文件 插入到 档案中, 如果 希望 仅仅 插入比 档案中 已有 成员 更新的  文件时,  就应该  使用
       此修饰符.   `u'  修饰符  仅允许  与 `r' (替换) 操作 一起 使用.  某些 情况下, 由于 用 `q' 操作 比较 文件的 时间属性
       会失去 速度上的 优势, 所以 不允许 执行 `qu' 组合操作.
 
 v      使用本修饰符可以进行 冗余的 操作。附加了此修饰符时,很多操作会显示 更多的消息,如处理的文件名等。
 V      显示 ar 的版本号。

选项参数

 --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   qte
 anaconda-ks.cfg c.c Desktop
 
 [root@localhost ~]# ar rv one.bak a.c b.c  # 打包 a.c b.c文件
 ar: 正在创建 one.bak
 a - a.c
 a - b.c

打包多个文件

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

显示打包文件的内容

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

删除打包文件的成员文件

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

总结

至此关于Linux常用命令ar命令的使用方法分享结束,大家如果对ar命令的使用方法还有问题可以通过评论区将问题提交我们。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

本文来源:www.lxlinux.net/2641.html,若引用不当,请联系修改。

相关文章 8

1

云服务器怎么选linux系统(云服务器怎么选择端口) 1分钟前

云服务器怎么选linux系统?我们知道,Linux服务器系统有很多的发行版,包含Ubuntu、Debian、CentOS等体系,这些都是Linux非常出色的开源系统,...

2

Linux系统中split命令详解 3分钟前

在Linux系统中split命令可以将一个文件分割成数个,在默认情况下将按照每1000行切割成一个小文件,下面良许教程网为大家分享一下Linux系统...

3

Linux系统nfs服务器配置详细教程 5分钟前

NFS(Network File System)即网络文件系统其功能就是可以通过网络实现文件的共享。下面良许教程网为大家分享一下Linux系统中nfs服务器配置的...

4

SSMTP—让Linux系统从Office 365发送邮件 8分钟前

SSMTP 能够被安装到任意 Linux 系统当中,一旦配置完成,全部来自 root、nobody 或其它应用程序发送的邮件均可以经过 SSMTP 进行转发。咱们也能...

5

SoftShellWeb:台湾VPS云服务器,中国大陆优化线路,1核1G内存1Gbps带宽低至4美元/月 9分钟前

softshellweb发布了几款特价免备案的台湾vps云服务器计划方案,中国台湾省台北市机房数据中心,采用中国大陆优化线路,基础配置1核、1G内...

6

Linux系统中使用sudo小技巧 11分钟前

在Linux运维中通常为了安装一般不会使用root账号来管理服务器,但是在日常使用过程中难免会使用root权限才能操作,这就需要使用sudo命令进...

7

七牛云:注册免费获取每月10GB云存储空间+20GB CDN流量(含10GB https流量)(七牛云平台) 13分钟前

七牛云怎么样? 云存储和CDN服务,在众多的云服务提供商中,七牛云服务商的知名度还是比较高的。我们很多人应该知道或者也有使用过,...

8

云服务器是干什么的?主要有什么特点和优势?(云服务器干什么的) 16分钟前

云服务器是干什么的? 云服务器,也可以叫云主机,在近几年时间,已经快速在国内普及开来,并有逐渐替代虚拟主机、VPS的趋势。相比传...