123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- .TH AR 1
- .SH NAME
- ar \- archive and library maintainer
- .SH SYNOPSIS
- .B ar
- .I key
- [
- .I posname
- ]
- .I afile
- [
- .I file ...
- ]
- .SH DESCRIPTION
- .I Ar
- maintains groups of files
- combined into a single archive file,
- .IR afile .
- The main use of
- .I ar
- is to create and update library files for the loaders
- .IR 2l (1),
- etc.
- It can be used, though, for any similar purpose.
- .PP
- .I Key
- is one character from the set
- .BR drqtpmx ,
- optionally concatenated with
- one or more of
- .BR vuaibclo .
- The
- .I files
- are constituents of the archive
- .IR afile .
- The meanings of the
- .I key
- characters are:
- .TP
- .B d
- Delete
- .I files
- from the archive file.
- .TP
- .B r
- Replace
- .I files
- in the archive file, or add them if missing.
- Optional modifiers are
- .RS
- .PD0
- .TP
- .B u
- Replace only files with
- modified dates later than that of
- the archive.
- .TP
- .B a
- Place new files after
- .I posname
- in the archive rather than at the end.
- .TP
- .BR b " or " i
- Place new files before
- .I posname
- in the archive.
- .RE
- .PD
- .TP
- .B q
- Quick. Append
- .I files
- to the end of the archive without checking for duplicates.
- Avoids quadratic behavior in
- .LR "for (i in *.v) ar r lib.a $i" .
- .TP
- .B t
- List a table of contents of the archive.
- If names are given, only those files are listed.
- .TP
- .B p
- Print the named files in the archive.
- .TP
- .B m
- Move the named files to the end or elsewhere,
- specified as with
- .LR r .
- .TP
- .B o
- Preserve the access and modification times of files
- extracted with the
- .B x
- command.
- .TP
- .B x
- Extract the named files.
- If no names are given, all files in the archive are
- extracted.
- In neither case does
- .B x
- alter the archive file.
- .TP
- .B 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
- .BR p ,
- precede each file with a name.
- With
- .BR t ,
- give a long listing of all information about the files,
- somewhat like a listing by
- .IR ls (1),
- showing
- .br
- .ns
- .IP
- .B
- mode uid/gid size date name
- .\" .TP
- .\" .B c
- .\" Create.
- .\" Normally
- .\" .I ar
- .\" will create a new archive when
- .\" .I afile
- .\" does not exist, and give a warning.
- .\" Option
- .\" .B c
- .\" discards any old contents and suppresses the warning.
- .TP
- .B l
- Local.
- Normally
- .I ar
- places its temporary files in the directory
- .BR /tmp .
- This option causes them to be placed in the local directory.
- .PP
- When a
- .BR d ,
- .BR r ,
- or
- .BR m
- .I key
- is specified and all members of the archive are valid object files for
- the same architecture,
- .I 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
- .B q
- .I key
- is specified or when the table of contents is
- explicitly moved or deleted.
- .SH EXAMPLE
- .TP
- .L
- ar cr lib.a *.v
- Replace the contents of library
- .L lib.a
- with the object files in the current directory.
- .SH FILES
- .TF /tmp/vxxxx
- .TP
- .B /tmp/v*
- temporaries
- .SH SOURCE
- .B /sys/src/cmd/ar.c
- .SH "SEE ALSO"
- .IR 2l (1),
- .IR ar (6)
- .SH BUGS
- If the same file is mentioned twice in an argument list,
- it may be put in the archive twice.
- .br
- This command predates Plan 9 and makes some invalid assumptions,
- for instance that user id's are numeric.
|