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 8l(1), etc.  It can be used,
          though, for any similar purpose.

          Key is one character from the set drqtpmx, optionally con-
          catenated with one or more of vuaibclo.  The files are con-
          stituents 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 miss-
               ing.  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 con-
               stituent files.  With p, precede each file with a name.

     AR(1)                                                       AR(1)

               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

          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
          8l(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 assump-
          tions, for instance that user id's are numeric.