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.