AR(1)AR(1)
NAME
ar – archive and library maintainer
SYNOPSIS
ar
key
[
posname
]
afile
[
file ...
]
DESCRIPTION
Ar
maintains groups of files
combined into a single archive file,
afile.
The main use of
ar
is to create and update library files for the loaders
2l(1),
etc.
It can be used, though, for any similar purpose.
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
unhandled troff command .ns
mode uid/gid size date name
l
Local.
Normally
ar
places its temporary files in the directory
/tmp.
This option causes them to be placed in the local directory.
When a
d,
r,
or
m
key
is specified and all members of the archive are valid object files for
the same architecture,
ar
inserts a table of contents, required by the loaders, at
the front of the library.
The table of contents is
rebuilt whenever the archive is modified, except
when the
q
key
is specified or when the table of contents is
explicitly moved or deleted.
EXAMPLE
ar cr lib.a *.v
Replace the contents of library
lib.a
with the object files in the current directory.
FILES
/tmp/v*
temporaries
SOURCE
/sys/src/cmd/ar.c
SEE ALSO
2l(1),
ar(6)
BUGS
If the same file is mentioned twice in an argument list,
it may be put in the archive twice.
This command predates Plan 9 and makes some invalid assumptions,
for instance that user id’s are numeric.