系统相关
首页 > 系统相关> > linux ar命令

linux ar命令

作者:互联网

[ar命令]

  1. 描述:
       Linux系统的一个备份打包命令,用于创建归档文件(archive),或从归档文件中提取、添加、删除成员文件。
      ar命令最常见的用法是将目标文件(.o)打包为静态链接库(.a)。在嵌入式开发中经常用到。
  2. 命令格式:
      ar p [mod] 归档文件 [成员文件…]
    p:必选参数,只能选一个
       –r:插入成员文件…存档(带替换)。此操作与q的不同之处在于,如果先前存在的成员名称与正在添加的成员的名称相同,则替换掉重名的成员文件。
       如果成员中有一个文件…不存在,ar将显示一条错误消息,并保留与该名称匹配的存档。任何现有成员不受干扰。
       默认情况下,新成员添加在文件的末尾;但是您可以使用其中一个修饰符abi来请求相对于某些现有成员的位置。
       –d:从存档中删除模块。指定要删除的模块的名称为成员…;如果没有指定要删除的文件,则存档将保持原样。如果指定了–v修饰符,ar会在删除模块时列出每个模块。
       –m:使用此操作移动归档中的成员。如果在多个成员中定义了符号,则存档中成员的顺序会影响程序使用库链接的方式。如果没有使用“m”修饰符,则将您在成员参数中指定的任何成员移动到存档的末尾;您可以使用a、b或i修饰符将它们移动到指定的位置。
       –p:将存档文件的指定成员打印到标准输出文件中。如果指定了v修饰符,在将该成员的内容复制到标准输出之前先显示成员名称。如果没有指定成员参数,则将打印归档文件中的所有文件。
       –q:快速追加。增加新模块到归档文件的结尾处。并不检查是否需要替换。‘a’,‘b’,或’i’选项对此操作没有影响,模块总是追加的归档文件的结尾处。如果加上–v选项则列出每个模块。 这时,归档文件的符号表没有更新,可以用’ar s’或ranlib来更新归档文件的符号表索引。
      注意:GNU ar中将命令qs作为r的同义词——替换存档中已经存在的文件,并在末尾附加新的文件。
       –x:从存档中提取成员(已命名的成员)。可以使用v修饰符来显示已提取成功的成员。如果不指定成员,则提取归档文件中的所有文件。
      注意:无法从无成员的存档文件中提取文件。
      更多信息参考man手册

    mod:可选参数,可多选
       –c:创建存档。当您请求更新时,如果指定的归档文件不存在,则始终创建它。但是,除非预先指定要使用-c修饰符创建它,否则归档文件不存在将发出警告。
       –v:此修饰符请求操作的详细版本。当添加修饰符v时,许多操作都会显示附加信息,比如处理过的文件名。
       –u:通常情况下,ar r……将列出的所有文件插入存档。如果只想在列表中插入那些比同名的现有成员更新的文件,请使用此修饰符。u修饰符只允许用于操作r (replace)。特别是,不允许使用qu组合,因为检查时间戳会失去q操作带来的任何速度优势。
       –s:将成员文件索引写入存档,或更新现有索引,即使没有对存档进行其他更改。您可以在任何操作中使用此修饰符标志,也可以单独使用。在归档文件上运行ar -s相当于在其上面运行ranlib。
      更多信息请参考man手册

标签:文件,存档,成员,修饰符,命令,ar,linux,归档文件
来源: https://blog.csdn.net/u013581207/article/details/98098771