ranlib.1
最后更新于
这有帮助吗?
AR(1)
AR(1)
FreeBSD General Commands Manual
AR(1)
ar
, ranlib
—
管理档案
ar
-d
[-T
] [-f
] [-j
] [-v
] [-z
] archive file ... ar
-m
[-T
] [-a
position-after] [-b
position-before] [-f
] [-i
position-before] [-j
] [-s
| -S
] [-z
] archive file ... ar
-p
[-T
] [-f
] [-v
] archive [file ...] ar
-q
[-T
] [-c
] [-D
] [-f
] [-s
| -S
] [-U
] [-v
] [-z
] archive file ... ar
-r
[-T
] [-a
position-after] [-b
position-before] [-c
] [-D
] [-f
] [-i
position-before] [-j
] [-s
| -S
] [-u
] [-U
] [-v
] [-z
] archive file ... ar
-s
[-j
] [-z
] archive ar
-t
[-f
] [-T
] [-v
] archive [file ...] ar
-x
[-C
] [-T
] [-f
] [-o
] [-u
] [-v
] archive [file ...] ar
-M
ranlib
[-D
] [-U
] archive ...
ar
实用程序创建并维护组合成档案的文件组。 创建存档后,可以向其中添加新文件,并且可以提取、删除或替换现有文件。
文件在存档中由它们的最后一个文件名组件命名,因此如果包含 “/” 的路径引用的文件被存档,它将由路径的最后一个组件命名。 同样,当将命令行中列出的路径与存档中存储的文件名匹配时,只会比较路径的最后一个组成部分。
ar
- 的正常使用是用于创建和维护适合与链接编辑器 ld(1) 一起使用的库,尽管它不限于此目的。 ar
实用程序可以创建和管理用于加速链接编辑操作的存档符号表(请参阅 ar(5) )。 如果存档中存在符号表,它将通过存档的后续操作保持最新。
ranlib
实用程序用于将存档符号表添加到现有存档。
ar
实用程序支持以下选项:
当与选项 -m
一起使用时,此选项指定由参数 file ... 指定的归档成员移动到由参数 member-after 命名的归档成员之后。 当与选项 -r
一起使用时,此选项指定由参数 file ... 指定的文件添加到由参数 member-after 命名的存档成员之后。
当与选项 -m
一起使用时,此选项指定由参数 file ... 指定的存档成员移动到由参数 member-before 命名的存档成员之前。 当与选项 -r
一起使用时,此选项指定由参数 file ...- 指定的文件添加到由参数 member-before 命名的存档成员之前。
使用 -r
和 -q
选项创建新存档时抑制打印的信息性消息。
防止提取的文件替换文件系统中的同名文件。
从参数 archive 指定的存档中删除参数 file ... 命名的成员。 存档的符号表(如果存在)将更新以反映存档的新内容。
当与 -r
或 -q
选项结合使用时,与 -s
选项不带其他选项一起使用时,或者当作为 ranlib
调用时,插入 0 而不是真正的 mtime、uid 和 gid 值和 0644 而不是来自命名成员的文件模式通过参数 file ... 这确保了当成员内容相同时,生成的存档上的校验和是可重现的。 默认情况下启用此选项。 如果在命令行上指定了多个 -D
和 -U
选项,则最后一个优先。
与选项 -T
同义。
与选项 -b
同义。
此选项被接受但被忽略。
接受此选项是为了与 GNU ar(1) 兼容,但会被忽略。
在存档中移动由参数 file ... 指定的存档成员。 如果位置已由 -a
, -b
或 -i
选项之一指定,则成员将移动到指定位置之前或之后。 如果未指定位置,则将指定的成员移动到存档的末尾。 如果档案有符号表,则更新它以反映档案的新内容。
提取成员时保留成员的原始修改时间。
将由参数 file ... 命名的指定存档成员的内容写入标准输出。 如果未指定任何成员,则归档中所有文件的内容将按照它们在归档中出现的顺序写入。
将参数 file ... 指定的文件附加到参数 archive 指定的存档,而不检查文件是否已存在于存档中。 存档符号表将根据需要更新。 如果参数 archive 指定的文件不存在,将创建一个新的档案。
在参数 archive 指定的存档中替换(添加)参数 file ... 指定的文件,必要时创建存档。 替换现有成员不会更改存档中成员的顺序。 如果在参数文件中命名的 file ... 不存在,则存档中与该名称匹配的现有成员不会更改。 除非指定了定位选项 -a
, -b
或 -i
之一,否则新文件将添加到存档的末尾。 存档符号表(如果存在)将更新以反映存档的新状态。
将存档符号表(请参阅 ar(5) )添加到由参数 archive 指定的存档中。单独使用 -s
选项调用 ar
等效于调用 ranlib
。
不要生成存档符号表。
列出由参数 file ... 指定的文件,按它们在存档中出现的顺序排列,每行一个。 如果未指定文件,则列出存档中的所有文件。
命名存档成员时,仅使用存档成员名称或命令行文件名参数的前 15 个字符。
有条件地更新存档或提取成员。 当与 -r
选项一起使用时,如果由参数 file ... 命名的文件比它们的归档版本更新,它们将在归档中被替换。 当与 -x
选项一起使用时,参数 file ... 指定的成员仅在它们比文件系统中的相应文件更新时才会被提取。
与 -r
或 -q
选项结合使用时,插入真正的 mtime、uid 和 gid 以及来自参数文件命名的成员的文件模式值 file ... 。如果在命令上指定了多个 -D
和 -U
选项行,最后一个优先。
提供详细的输出。 当与 -d
, -m
, -q
或 -x
选项一起使用时, ar
给出正在执行的归档修改的逐个文件描述,它由三个空格分隔的字段组成:选项字母、破折号 “-” 和文件名。当与 -r
选项一起使用时, ar
显示如上的描述,但如果将文件添加到存档中,则首字母为 “a” ,如果文件替换存档中已有的文件,则为 “r” 。 当与 -p
选项一起使用时,包含在 “<” 和 “>” 字符中的文件名将写入标准输出,前面有一个换行符,后跟两个换行符。 命名文件的内容跟在文件名后面。 当与 -t
选项一起使用时, ar
显示八个空格分隔的字段:由 strmode(3) 显示的文件权限、由斜杠 ( “/”) 分隔的十进制用户和组 ID、以字节为单位的文件大小、文件修改 strftime(3) 格式 “%b %e %H:%M %Y” 的时间,以及文件名。
打印版本字符串并退出。
将参数 file ... 指定的存档成员提取到当前目录中。 如果未指定任何成员,则提取档案的所有成员。如果与提取的成员对应的文件不存在,则将创建该文件。 如果提取的成员对应的文件确实存在,则其所有者和组将不会更改,而其内容将被覆盖,并且其权限将设置为存档中输入的权限。 除非指定了 -o
选项,否则文件的访问和修改时间将与提取时间相同。
此选项被接受但被忽略。
如果指定了 -M
选项, ar
实用程序将从其标准输入读取并执行命令。 如果标准输入是终端, ar
实用程序将在读取一行之前显示提示 “AR >
” ,即使遇到错误也会继续操作。 如果标准输入不是终端, ar
实用程序将不会显示提示,并会在遇到错误时终止执行。
每个输入行包含一个命令。 输入行中的单词由空格字符分隔。 该行的第一个单词是命令,其余单词是命令的参数。 在任何一种情况下都可以指定命令字。 参数可以用逗号或空格分隔。
允许空行并被忽略。 长行以 “+
” 字符结束。
“*
” 和 “;
” 字符开始评论。 注释一直延伸到行尾。
执行 MRI 图书管理员脚本时, ar
实用程序在存档的临时副本上工作。 使用 save
命令对副本进行永久更改。
ar
实用程序可以理解的命令是:
将由参数 archive 命名的档案内容添加到当前档案中。 如果使用参数 member 命名特定成员,则将这些成员添加到当前存档中。 如果未指定任何成员,则将归档的全部内容添加到当前归档。
将参数 member 命名的文件添加到当前存档。
丢弃当前存档的所有内容。
创建一个由参数 archive 命名的新档案,并使其成为当前档案。 如果命名存档已存在,则在发出 save
命令时将覆盖它。
从当前存档中删除由参数 member 命名的模块。
列出存档中的每个命名模块。 输出的格式取决于使用 verbose
命令设置的详细程度设置。 输出被发送到标准输出,或由参数 outputfile 指定的文件。
从 ar
实用程序成功退出。 对当前存档的任何未保存的更改都将被丢弃。
从当前存档中提取由参数 member 命名的成员。
以详细样式显示当前存档的内容。
打开由参数 archive 命名的档案并将其设为当前档案。
将当前存档中的命名成员替换为参数 member 指定的文件。 文件必须存在于当前目录中,并且命名模块必须已经存在于当前存档中。
提交对当前存档的所有更改。
切换 directory
命令的详细程度。
要创建一个包含三个文件 ex1.o, ex2.o 和 ex3.o 的新存档 ex.a ,请使用:
ar -rc ex.a ex1.o ex2.o ex3.o
要将存档符号表添加到现有存档 ex.a, 请使用:
ar -s ex.a
要从档案 ex.a 中删除文件 ex1.o , 请使用:
ar -d ex.a ex1.o
要详细列出档案 ex.a 的内容, 请使用:
ar -tv ex.a
要使用 MRI 图书管理员命令创建包含文件 ex1.o 和 ex2.o 的新存档 ex.a ,请使用以下脚本:
create ex.a * specify the output archive addmod ex1.o ex2.o * add modules save * save pending changes end * exit the utility
The ar
utility exits 0 on success, and >0 if an error occurs.
ld(1), archive(3), elf(3), strftime(3), strmode(3), ar(5)
ar
实用程序支持 -a
, -b
, -c
, -i
, -m
, -p
, -q
, -r
, -s
, -t
, -u
, -v
, -C
和 -T
选项符合 IEEE Std 1003.2 (“POSIX.2”) 。
June 16, 2016
FreeBSD 13.1-RELEASE
member-after
member-before
member-before
从标准输入读取和执行 MRI 图书馆员命令。 ar
实用程序可以理解的命令在 部分中进行了描述。
archive | archive (member [, member]...)
member [, member]...
archive
module [, member]...
archive (member [, member]...) [outputfile]
member [, member]...
archive
member [, member]...
ar
命令首次出现在 AT&T UNIX 版本 1 中。在 FreeBSD 8.0 中, Kai Wang <> 使用 Streaming Archive Library (libarchive, -larchive) 和 ELF Access Library (libelf, -lelf) 重新实现了 ar
和 ranlib
。