Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cpt — Apollo

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

DATETIME

6.0b;cpt (copy_tree), revision 6.0b, 83/03/16
CPT (COPY_TREE) -- Copy a directory tree.
usage:  CPT source_pathname target_pathname [-C|-R|-MS|-MD] [-CHN] [-AF date]
                                        [-BE date] [-DACL|-SACL] [-L] [-LD]
                                        [SUBS] [-LF] [-LL] [-LDL] [-PR
                                        pathname...] [-PDT] {CL}


FORMAT

  CPT source_pathname target_pathname ... [options]


  CPT  is  a  multipurpose  tool  for  copying,  merging,  and  replacing files,
  directories, and links.  To copy files only, use CPF (COPY_FILE).


ARGUMENTS

  Multiple source/target pairs and wildcarding are permitted.

  source_pathname
  (required)         Specify the file, link, or directory  tree  to  be  copied.
                     CPT  does not change the contents or link references of the
                     source,  so  errors  that  occur  will  leave  the   source
                     unaffected.

  target_pathname
  (required)         Specify the file or directory tree to be created, replaced,
                     or  merged.    The  target pathname may be derived from the
                     source pathname.  The  target  can  NOT  be  a  link.    In
                     addition,  the  target  can  NOT  be a logical volume entry
                     directory, or the network root unless  the  -MD  option  is
                     specified.


OPTIONS

  Default options are indicated by "(D)."

  -AF date            Copy  only  objects  whose dtms (date-times) are after the
                     given  date  and  time:  [[[yy]yy/]mm/dd][.][hh:mm[:ss]]  |
                     TODAY The date defaults to today, and the time to midnight,
                     if either are omitted from 'date'.

  -BE date            Copy only objects whose dtms are before the given date and
                     time:  [[[yy]yy/]mm/dd][.][hh:mm[:ss]]  |  TODAY  The  date
                     defaults  to  today, and the time to midnight if either are
                     omitted from 'date'.

  -C           (D)   Create source at target.  If the file or directory  already
                     exists, an error will occur and processing will continue to
                     the  next source/target pair.  Not valid if -MS, -MD, or -R
                     is specified.

                     If the source is a file, CPT copies it to the target.    If
                     the  source is a directory, CPT copies the directory to the
                     target.   It  then  copies  every  file  cataloged  in  the
                     directory (and all subdirectories) until it reaches the end
                     of the tree.

                     Each link name in the source tree is created as a link name
                     in  the  target, but the object that the link references is
                     not  copied.    If  'source_pathname'  is  itself  a  link,
                     however,  the  link  is resolved and the object to which it
                     points is copied to the target.

  -R                 Replace target with source.  Not valid if -C ,-MS,  or  -MD
                     is  specified.  CPT deletes the tree starting at the target
                     pathname and copies the entire source tree in its place. If
                     no target tree by the specified name  exists,  CPT  creates
                     one and duplicates the source.

  -MS                Merge source and target if both are directories.  Not valid
                     if  -C  or  -R is specified.  If the target does not exist,
                     CPT duplicates the source at the target.    If  the  target
                     exists,  CPT  merges  the source into the target, replacing
                     files and links, and combining directories.

                     If both the source and  the  target  are  directories,  CPT
                     merges  their  contents as described below.  Otherwise, CPT
                     deletes the target and replaces it with the source.

                     To merge directories, CPT compares their  contents,  object
                     by object.  Objects that exist in the source but not in the
                     target  are  created  in the target.  Objects that exist in
                     the target but not in the source  remain  unchanged.  Files
                     and  links  with  the  same name in both the source and the
                     target are deleted from the  target  and  replaced  by  the
                     source  version.    Directories  with the same name in both
                     source and target are merged.  CPT continues  this  process
                     interactively until it reaches the end of the source tree.

  -MD                 Merge  source and target if both are directories.  Similar
                     to -MS except that files and links with the  same  name  in
                     both source and target are left unchanged in the target.

  -DACL        (D)    Apply the target directory's default ACLs.  In addition to
                     its own ACL, each directory has two default ACLs,  one  for
                     its files and another for its subdirectories.  -DACL causes
                     CPT  to  apply  the target directory's default ACLs to each
                     subdirectory and file it copies. The  -SACL  option  causes
                     each object to retain its original ACL.

  -SACL              Retain the source ACL.

  -CHN               Use with -C to change the name of a target before source is
                     copied.    Use if target_name already exists.  Use with -R,
                     -MS, and -MD to change the target_name if target is in use.

  -SUBS               Retain  the  source  ACLs  for  objects  which  belong  to
                     subsystems.

  -PR pathname        Preserve  the  object  'pathname'  in  target when another
                     object with the same name exists in the source.  Valid with
                     -MS option only.

  -PDT               Preserve the source's modification and used times.

  The following five options allow you to monitor CPT's operation.  You can  use
  -LD, -LF, and -LL in any combination. By default, the listing options apply to
  both  copied  and  deleted  objects. To list only deletions, use -LDL with -L,
  -LD, -LF, or -LL.

  -L                 List all objects as they are copied.

  -LD                List directories as they are copied.

  -LF                List files as they are copied.

  -LL                List links as they are copied.

  -LDL               List only objects deleted as a result of replacements.

  This command uses the command line parser, and so also  accepts  the  standard
  command options listed in HELP CL.












EXAMPLES

  1.  $ cpt /com /com.backup -r         Copy the directory tree "/com" to
                                         to "/com.backup" replacing the
                                         existing "/com.backup" tree.

  2.  $ cpt my_circuits /circuits -m     Merge the directory tree
                                         "my_circuits" into the
                                         "/circuits" tree.


RELATED TOPICS

  More information is available.  Type:

  - HELP DATETIME
    for more information on date-time syntax used with -AF and -BE.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026