📜  Linux 中的 ar 命令及示例

📅  最后修改于: 2022-05-13 01:57:33.563000             🧑  作者: Mango

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.txtstar2.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修饰符列表文件是提取。