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 con-
          catenated with one or more of vuaibcl. 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.  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 *.o) 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'.

          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.
               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

     Page 1                       Plan 9            (printed 12/21/24)

     AR(1)                                                       AR(1)

          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.

          l    Local.  Normally ar places its temporary files in the
               directory /tmp.  This option causes them to be placed
               in the local directory.

     EXAMPLE
          ar cr lib.a *.o; rl lib.a
               Replace the contents of library `lib.a' with the object
               files in the current directory.

     FILES
          /tmp/v*     temporaries

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

     Page 2                       Plan 9            (printed 12/21/24)