User Commands                                               cp(1)



NAME
     cp - copy files

SYNOPSIS
     /usr/bin/cp [-fip] source_file target_file
     /usr/bin/cp [-fip] source_file... target
     /usr/bin/cp -r|-R [-fip] source_dir... target

     /usr/xpg4/bin/cp [-fip] source_file target_file
     /usr/xpg4/bin/cp [-fip] source_file... target
     /usr/xpg4/bin/cp -r|-R [-fip] source_dir... target

DESCRIPTION
     In  the  first  synopsis  form,  neither   source_file   nor
     target_file  are directory files, nor can they have the same
     name.  The cp utility will copy the contents of  source_file
     to   the   destination   path   named  by  target_file.   If
     target_file exists, cp will overwrite its contents, but  the
     mode  (and  ACL  if applicable), owner, and group associated
     with it are not changed.   The  last  modification  time  of
     target_file  and the last access time of source_file are set
     to the time the copy was  made.   If  target_file  does  not
     exist,  cp creates a new file named target_file that has the
     same mode as source_file except that the sticky bit  is  not
     set  unless  the  user  is superuser; the owner and group of
     target_file are those of the owner.   If  target_file  is  a
     link  to another file with links, the other links remain and
     target_file becomes a new file.

     In the second synopsis form, one or  more  source_files  are
     copied  to  the  directory  specified  by  target.  For each
     source_file specified, a new file with the  same  mode  (and
     ACL  if  applicable),  is  created  in target; the owner and
     group are those of the user making the copy.  It is an error
     if  any  source_file  is a file of type directory, if target
     either does not exist or is not a directory.

     In the third synopsis form, one or more  directories  speci-
     fied  by source_dir are copied to the directory specified by
     target.  Either -r  or  -R  must  be  specified.   For  each
     source_dir, cp will copy all files and subdirectories.

OPTIONS
     The following options are supported for both /usr/bin/cp and
     /usr/xpg4/bin/cp:

     -f      Unlink.  If a file descriptor for a destination file
             cannot  be  obtained, attempt to unlink the destina-
             tion file and proceed.

     -i      Interactive.  cp will prompt for confirmation  when-
             ever the copy would overwrite an existing target.  A



SunOS 5.6           Last change: 18 Mar 1997                    1






User Commands                                               cp(1)



             y answer means that the copy  should  proceed.   Any
             other answer prevents cp from overwriting target.

     -r      Recursive.  cp will copy the directory and  all  its
             files,  including any subdirectories and their files
             to target.

     -R      Same as -r, except pipes are  replicated,  not  read
             from.

  /usr/bin/cp
     The following option is supported for /usr/bin/cp only:

     -p   Preserve.  cp  duplicates  not  only  the  contents  of
          source_file, but also preserves the owner and group id,
          permissions modes, modification and  access  time,  and
          ACLs  if applicable.  Note that the command may fail if
          ACLs are copied to a file system that does not  support
          ACLs.   The command will not fail if unable to preserve
          modification and access time or permission  modes.   If
          unable  to  preserve  owner  and  group id, cp will not
          fail, and it will clear S_ISUID and S_ISGID bits in the
          target.  cp  will  print a diagnostic message to stderr
          and return a non-zero exit status if  unable  to  clear
          these bits.

          In order to preserve the owner and group id, permission
          modes,  and  modification  and access times, users must
          have the  appropriate  file  access  permissions;  this
          includes  being  superuser  or the same owner id as the
          destination file.

  /usr/xpg4/bin/cp
     The following option is supported for /usr/xpg4/bin/cp only:

     -p   Preserve.  cp  duplicates  not  only  the  contents  of
          source_file, but also preserves the owner and group id,
          permission modes, modification  and  access  time,  and
          ACLs  if applicable.  Note that the command may fail if
          ACLs are copied to a file system that does not  support
          ACLs.   If  unable  to  duplicate  the modification and
          access time or the permission modes, cp  will  print  a
          diagnostic message to stderr and return a non-zero exit
          status. If unable to preserve owner and  group  id,  cp
          will  not  fail,  and it will clear S_ISUID and S_ISGID
          bits in the target. cp will print a diagnostic  message
          to  stderr  and return a non-zero exit status if unable
          to clear these bits.

          In order to preserve the owner and group id, permission
          modes,  and  modification  and access times, users must
          have the  appropriate  file  access  permissions;  this



SunOS 5.6           Last change: 18 Mar 1997                    2






User Commands                                               cp(1)



          includes  being  superuser  or the same owner id as the
          destination file.
:

OPERANDS
     The following operands are supported:

     source_file    A path name of a regular file to be copied.

     source_dir     A path name of a directory to be copied.

     target_file    A pathname of  an  existing  or  non-existing
                    file,  used for the output when a single file
                    is copied.

     target         A pathname of  a  directory  to  contain  the
                    copied files.

USAGE
     See largefile(5) for the description of the behavior  of  cp
     when  encountering  files  greater  than or equal to 2 Gbyte
     (2**31 bytes).

EXAMPLES
     1. To copy a file:

          example% cp goodies goodies.old
          example% ls goodies*
          goodies goodies.old

     2. To copy a list of files to a destination directory:

          example% cp ~/src/*   /tmp

     3. To copy a directory, first to  a  new,  and  then  to  an
        existing destination directory:

          example% ls ~/bkup
          /usr/example/fred/bkup not found
          example% cp -r ~/src ~/bkup
          example% ls -R ~/bkup
          x.c y.c z.sh
          example% cp -r ~/src ~/bkup
          example% ls -R ~/bkup
          src x.c y.c z.sh

          src:
          x.c y.c z.sh

ENVIRONMENT
     See environ(5) for descriptions of the following environment
     variables  that  affect  the  execution  of cp:  LC_COLLATE,
     LC_CTYPE, LC_MESSAGES, and NLSPATH.



SunOS 5.6           Last change: 18 Mar 1997                    3






User Commands                                               cp(1)



EXIT STATUS
     The following exit values are returned:

     0   All files were copied successfully.

     >0  An error occurred.