ar(1) UNIX System V(Directory and File Management Utilities) ar(1)
NAME
ar - maintain portable archive or library
SYNOPSIS
ar [ -V ] - key [ arg ] [ posname ] afile [ name. . . ]
DESCRIPTION
The ar command maintains groups of files combined into a single archive
file. Its main use is to create and update library files. However, it
can be used for any similar purpose. The magic string and the file
headers used by ar consist of printable ASCII characters. If an archive
is composed of printable files, the entire archive is printable.
When ar creates an archive, it creates headers in a format that is
portable across all machines. The portable archive format and structure
are described in detail in ar(4). The archive symbol table [described in
ar(4)] is used by the link editor ld to effect multiple passes over
libraries of object files in an efficient manner. An archive symbol
table is only created and maintained by ar when there is at least one
object file in the archive. The archive symbol table is in a specially
named file that is always the first file in the archive. This file is
never mentioned or accessible to the user. Whenever the ar command is
used to create or update the contents of such an archive, the symbol
table is rebuilt. The s option described below will force the symbol
table to be rebuilt.
The -V option causes ar to print its version number on standard error.
Unlike command options, the key is a required part of the ar command
line. The key is formed with one of the following letters: drqtpmx.
Arguments to the key, alternatively, are made with one of more of the
following set: vuaibcls. posname is an archive member name used as a
reference point in positioning other files in the archive. afile is the
archive file. The names are constituent files in the archive file. The
meanings of the key characters are as follows:
d Delete the named files from the archive file.
r Replace the named files in the archive file. If the optional
character u is used with r, then only those files with dates of
modification later than the archive files are replaced. If an
optional positioning character from the set abi is used, then the
posname argument must be present and specifies that new files are
to be placed after (a) or before (b or i) posname. Otherwise new
files are placed at the end.
q Quickly append the named files to the end of the archive file.
Optional positioning characters are invalid. The command does not
check whether the added members are already in the archive. This
option is useful to avoid quadratic behavior when creating a large
archive piece-by-piece.
10/89 Page 1
ar(1) UNIX System V(Directory and File Management Utilities) ar(1)
t Print a table of contents of the archive file. If no names are
given, all files in the archive are listed. If names are given,
only those files are listed.
p Print the named files in the archive.
m Move the named files to the end of the archive. If a positioning
character is present, then the posname argument must be present
and, as in r, specifies where the files are to be moved.
x Extract the named files. If no names are given, all files in the
archive are extracted. In neither case does x alter the archive
file.
The meanings of the other key arguments are as follows:
v Give a verbose file-by-file description of the making of a new
archive file from the old archive and the constituent files. When
used with t, give a long listing of all information about the
files. When used with x, print the filename preceding each
extraction.
c Suppress the message that is produced by default when afile is
created.
l This option is obsolete. It is recognized, but ignored, and will
be removed in the next release.
s Force the regeneration of the archive symbol table even if ar(1) is
not invoked with a command which will modify the archive contents.
This command is useful to restore the archive symbol table after
the strip(1) command has been used on the archive.
SEE ALSO
ld(1), lorder(1), strip(1), a.out(4), ar(4)
NOTES
If the same file is mentioned twice in an argument list, it may be put in
the archive twice.
Since the archiver no longer uses temporary files, the -l option is
obsolete and will be removed in the next release.
By convention, archives are suffixed with the characters .a.
Page 2 10/89