Linux操作系统 ar
命令用于创建、修改和提取存档。 ar
是单词的缩写和前两个字母 archive
. ar
由大多数Linux发行版提供,如Ubuntu、Debian、Kali、Mint、CentOS、Fedora、Red Hat和BSD变体。
Ar不是压缩
归档只是将多个文件放入一个文件中,而无需任何额外操作。这意味着存档不会压缩放入存档中的文件。存档文件的大小不会改变并保持不变,但在压缩过程中,压缩文件的大小会减小。 tar
是另一种用于存档文件的压缩格式和命令,但 gz
, bz
, zip
, rar
它们都是压缩格式、算法和工具。
在Ubuntu,Mint,Kali,Debian上安装ar
ar
命令是开发和构建包的辅助工具。所以它附带了一个名为 build-essential
我们必须在哪里安装这个软件包才能使用 ar
命令。
$ sudo apt-get install build-essential
ar命令语法
ar
命令有非常简单的语法,我们提供选项,然后提供文件和目录参数。
ar OPTION ARCHIVE_NAME FILES
- 选项是
ar
命令选项,指定ar命令的操作和行为。 - 存档名称是要创建、编辑或列出的存档的名称。
- 文件部分提供在压缩、提取或列表等操作期间使用的文件。
创建存档
我们将从用 ar
命令。 r
选项用于创建存档,我们还需要提供存档名称和要放入存档的文件。在本例中,我们将添加名为 HelloWorld.java
, example.txt
, fgets.c
到一个名为 myfiles.a
.
$ ar r myfiles.a HelloWorld.java example.txt fgets.c

存档可以保存多个同名文件
在开始工作之前我们必须这么说 ar
命令。存档可以在单个存档中存储同名文件。举个例子, example.txt
可以在单个存档文件中多次看到。
相关文章: Logrotate命令教程及Linux示例
提取存档的所有内容
我们可以用 x
选项。我们还将使用 v
选项以打印以详细模式提取的文件名。
$ ar xv myfiles.a

从存档中提取指定的文件
我们还可以从存档中提取单个或多个文件。我们将再次使用 x
选项,但我们也将提供我们要提取的文件。在本例中,我们将提取名为 example.txt
.
$ ar xv myfiles.a example.txt
我们还可以通过在命令末尾添加文件名,用一个命令提取多个文件。在本例中,我们将提取名为 example.txt
, fgets.c
我们也可以根据自己的意愿添加更多。
$ ar xv myfiles.a example.txt fgets.c

档案目录
我们可以用 t
选项。这将只列出名称,不提供额外的属性,如时间戳、所有权和访问权。
$ ar t myfiles.a

列出存档的内容及其时间戳、大小、所有权和访问权限
通过使用 t
选项我们只列出存档文件名,但我们也可以列出存档文件的属性,并添加一个额外的 v
选项。这将列出时间戳、大小、所有权和访问权限。
$ ar tv myfiles.a

读取存档文件的内容
通常,ASCII文件被归档并用于软件开发。因此,这些源代码、配置文件是ASCII格式的,可以打印到屏幕上,而无需对它们进行提取/反归档。我们可以用 pv
选项,将所有文件内容打印并显示到屏幕上,并在内容前面加上文件名。
$ ar pv myfiles.a

我们可以从输出中看到第一个文件是 HelloWorld.java
打印为 HelloWorld.java
在它的内容之前。第二个文件是 example.txt
它的内容在那之后被印刷。
相关文章: Linux、Unix和BSD中targz文件的解压与解压
将新文件添加到现有存档中
我们还可以将新文件添加到现有的存档文件中。为了添加新文件,我们将使用 q
选项。在本例中,我们将附加一个名为 example.txt
.
$ ar qv myfiles.a example.txt
我们还可以添加多个文件,只需将它们放在命令末尾,并用空格分隔文件名。在本例中,我们将添加多个文件名 example.txt
和 fgets.c
$ ar qv myfiles.a example.txt fgets.c

从存档中删除/删除文件
我们可以使用 d
选项。在本例中,我们将删除名为 example.txt
从名为 myfiles.a
.
$ ar dv myfiles.a example.txt
我们还可以在一个命令中删除多个文件,方法是将它们添加到命令的末尾并用空格分隔。
$ ar dv myfiles.a fgets.c sqlscript.sql
![图片[8]-Linux-ar命令教程及存档示例-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2019/08/poftut_img_5d4bb921a959c.png)