Ar
maintains groups of files
combined into a single archive file,
afile.
The main use of
ar
is to produce and manipulate UNIX archive files, for instance to create
program packages for Debian Linux.
Note that only
iar(10.1)
can manage archives used as object file libraries by the Inferno and Plan 9 loaders.
Key
is one character from the set
drqtpmx,
optionally concatenated with
one or more of
vuaibclo.
The
files
are constituents of the archive
afile.
The meanings of the
key
characters are:
d
Delete
files
from the archive file.
r
Replace
files
in the archive file, or add them if missing.
Optional modifiers are
u
Replace only files with
modified dates later than that of
the archive.
a
Place new files after
posname
in the archive rather than at the end.
b or i
Place new files before
posname
in the archive.
q
Quick. Append
files
to the end of the archive without checking for duplicates.
Avoids quadratic behavior in
for (i in *.v) ar r lib.a $i.
t
List a table of contents of the archive.
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 or elsewhere,
specified as with
r.
o
Preserve the access and modification times of files
extracted with the
x
command.
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.
v
Verbose.
Give a file-by-file
description of the making of a
new archive file from the old archive and the constituent files.
With
p,
precede each file with a name.
With
t,
give a long listing of all information about the files,
somewhat like a listing by
ls(1),
showing
mode uid/gid size date name
c
Create.
Normally
ar
will create a new archive when
afile
does not exist, and give a warning.
Option
c
discards any old contents and suppresses the warning.
EXAMPLE
ar cr arch.a manifest *.tar.gz
Replace the contents of
arch.a
with the
manifest
file and all the
gzip(1)'d
tar
files in the current directory.
If the same file is mentioned twice in an argument list,
it may be put in the archive twice.
The file format used by this command is taken from UNIX, and
makes some invalid assumptions,
for instance that user IDs are numeric.