Linux 中的 ar 命令可以用来创建、修改库,也可以从库中提出单个模块。ar 命令也可集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。
库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。
ar 命令用来创建或修改库。
ar [options] archive files...
参数 | 描述 |
---|---|
options | ar 命令使用的参数。 |
archive | 归档后的库文件。 |
files | 需要归档的文件。 |
参数 | 描述 |
---|---|
-d | 删除备存文件中的成员文件。 |
-m | 变更成员文件在备存文件中的次序。 |
-p | 显示备存文件中的成员文件内容。 |
-q | 将文件附加在备存文件末端。 |
-r | 将文件插入备存文件中。 |
-t | 显示备存文件中所包含的文件。 |
-x | 自备存文件中取出成员文件。 |
参数 | 描述 |
---|---|
a <成员文件> | 将文件插入备存文件中指定的成员文件之后。 |
b <成员文件> | 将文件插入备存文件中指定的成员文件之前。 |
c | 建立备存文件。 |
f | 为避免过长的文件名不兼容于其他系统的 ar 指令指令,因此可利用此参数,截掉要放入备存文件中过长的成员文件名称。 |
i <成员文件> | 将文件插入备存文件中指定的成员文件之前。 |
o | 保留备存文件中文件的日期。 |
s | 若备存文件中包含了对象模式,可利用此参数建立备存文件的符号表。 |
S | 不产生符号表。 |
u | 只将日期较新文件插入备存文件中。 |
v | 程序执行时显示详细的信息。 |
实例 | 描述 |
---|---|
ar rv destfile file1 file2 | 将 file1 file2 文件打包成 destfile 文件 |
ar t destfile | 显示打包文件内容 |
ar d destfile file1 file2 | 从打包文件 destfile 中删除 file1 和 file2 |
ar rv destfile file1 file2
我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:
touch haicoder{1..3}.txt
运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:
现在,我们使用 ar 命令,将这些文件进行归档,具体命令如下:
ar rv haicoder.bak haicoder*.txt
运行后,终端输出如下:
现在,我们再次使用 ls 命令,查看文件内容,终端输出如下:
我们看到,归档文件已经存在了,即,我们使用了 ar 命令实现了归档文件。
ar t destfile
我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:
touch haicoder{1..3}.txt
运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:
现在,我们使用 ar 命令,将这些文件进行归档,具体命令如下:
ar rv haicoder.bak haicoder*.txt
运行后,终端输出如下:
现在,我们再次使用 ls 命令,查看文件内容,终端输出如下:
我们看到,归档文件已经存在了,即,我们使用了 ar 命令实现了归档文件,现在,我们再次使用 ar 命令查看归档文件内容,具体命令如下:
ar -t haicoder.bak
运行后,终端输出如下:
即,我们使用了 ar 命令,显示了归档文件的内容。
ar d destfile file1 file2
我们首先,使用 touch 命令,批量创建几个文件,具体命令如下:
touch haicoder{1..3}.txt
运行后,我们并使用 ls 命令,查看创建的文件,终端输出如下:
现在,我们使用 ar 命令,将这些文件进行归档,具体命令如下:
ar rv haicoder.bak haicoder*.txt
运行后,终端输出如下:
现在,我们再次使用 ls 命令,查看文件内容,终端输出如下:
我们看到,归档文件已经存在了,即,我们使用了 ar 命令实现了归档文件,现在,我们再次使用 ar 命令查看归档文件内容,具体命令如下:
ar -t haicoder.bak
运行后,终端输出如下:
即,我们使用了 ar 命令,显示了归档文件的内容,现在,我们再次使用 ar 命令,删除归档文件里面的内容,具体命令如下:
ar d haicoder.bak haicoder1.txt haicoder2.txt
运行后,终端输出如下:
即,我们使用了 ar 命令,删除了归档文件里的内容。
Linux 中的 ar 命令可以用来创建、修改库,也可以从库中提出单个模块。ar 命令也可集合许多文件,成为单一的备存文件。在备存文件中,所有成员文件皆保有原来的属性与权限。