Linux 中的 ar 命令及示例
ar命令用于从档案中创建、修改和提取文件。档案是具有特定结构的其他文件的集合,可以从中提取单个文件。单个文件被称为档案的成员。
句法:
ar [OPTIONS] archive_name member_files
选项:
- r:用于创建存档,在存档中插入文件。这与q不同,因为它删除任何以前存在的成员。如果任何成员文件名不存在,则会引发错误。默认情况下,它会在文件末尾添加一个新成员。
示例:假设有一个名为star1的文件,并且您想创建一个名为“super”的不带修饰符的档案,那么您可以使用以下命令:
ar r super.a *star1
这将创建一个包含成员star1的档案。使用修饰符,它看起来像:
ar rv super.a *star1.txt
注意:修饰符v给出一行或带有字母a 或 r 的输出,指示文件是否被附加。
- d:从存档中删除模块。将模块的名称指定为成员……;添加修饰符 v 时,ar 会列出每个被删除的模块。
ar d super.a star1.txt
在我们之前的案例中,我们在存档super.a 中使用了star1.txt ,现在我们将从那里删除该文件
因为我们有存储star1.txt 的super.a存档,在使用d不带修饰符后,它只是删除了文件
现在让我们看看使用修饰符v的相同示例ar dv super.a star1.txt
使用修饰符v它会在删除模块时列出模块。
- p:此选项用于在标准输出文件中打印存档的指定成员,如果您不使用修饰符,它将打印成员,因为它是输出文件,而如果您使用修饰符v那么它将在它之前显示成员名称复制到输出文件。
ar p super.a
这里它给出了写在我们的文件stat1.txt和star2.txt 中的输出,现在让我们检查一下当我们在其中使用修饰符v时会发生什么。
ar pv super.a
使用修饰符,首先获取文件名,然后在其中写入内容。
- t:以列表的方式显示存档的内容,通常,它显示存档的内容,但如果我们使用修饰符O那么它也会显示每个成员的相应偏移量。
ar t super.a (taking our old files and examples)
这里t显示了档案的成员,现在让我们看看当我们使用修饰符时它显示了什么。
ar tO super.a
这次通过使用修饰符我们得到了每个成员对应的偏移量。
- x:它从档案中提取每个命名的成员,如果您没有命名要提取的成员,它会提取整个档案。我们可以使用v修饰符列出提取的每个成员的名称。
修饰符v显示提取的每个文件,而且我们没有指定名称,因此如果我们指定成员的名称,它会提取整个档案,它只提取该成员。
这个命令不像我们的例子那样提取瘦文件,它只是显示它已经提取了存档。
上图显示了基于指定成员名称的提取,并且v修饰符列表文件是提取。