unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-5.10)
Page:
Section:
Apropos / Subsearch:
optional field

cp(1)                            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 [-H | -L | -P]  [-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 [-H | -L | -P]  [-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 copies
       the  contents  of  source_file  to  the  destination path named by tar-
       get_file. If target_file exists, cp overwrites 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 super-user. In this case, the owner and group of
       target_file  are those of the user, unless the setgid bit is set on the
       directory containing the newly created file. If the directory's  setgid
       bit  is  set,  the  newly  created file has the group of the containing
       directory rather than of the creating user. If target_file is a link to
       another  file,  cp overwrites the link destination with the contents of
       source_file; the link(s) from target_file remains.

       In the second synopsis form, one or more source_files are copied to the
       directory  specified  by target. 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 specified by
       source_dir are copied to the directory specified by target.  Either  -r
       or  -R must be specified.  For each source_dir, cp copies 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, this option attempts to unlink the destination  file
                and proceed.



       -H       Takes  actions based on the type and contents of the file ref-
                erenced by any symbolic link specified as a source_file  oper-
                and.



       -i       Interactive.  cp  prompts  for  confirmation whenever the copy
                would overwrite an existing target. A y answer means that  the
                copy  should  proceed. Any other answer prevents cp from over-
                writing target.



       -L       Takes actions based on the type and contents of the file  ref-
                erenced  by any symbolic link specified as a source_file oper-
                and or any symbolic links encountered during  traversal  of  a
                file hierarchy.



       -P       Takes  actions on any symbolic link specified as a source_file
                operand or any symbolic link encountered during traversal of a
                file hierarchy.



       -r       Recursive.  cp copies the directory and all its files, includ-
                ing any subdirectories and their files to target.  Unless  the
                -H,  -L,  or  -P option is specified, the -L option is used as
                the default mode.



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



       -@       Preserves extended attributes. cp attempts to copy all of  the
                source  file's extended attributes along with the file data to
                the destination file.



       Specifying more than one of the mutually-exclusive options -H, -L,  and
       -P is not considered an error. The last option specified determines the
       behavior of the utility.

   /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, permission modes,
                modification and access time, ACLs, and  extended  attributes,
                if  applicable.  The  command can fail if ACLs are copied to a
                file system without appropriate support. The command does  not
                fail  if  unable to preserve extended attributes, modification
                and access time, or permission modes. If  unable  to  preserve
                owner and group id, cp does not fail, and it clearsS_ISUID and
                S_ISGID bits in the target. cp prints 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 appro-
                priate file access permissions. This includes being  superuser
                or the same owner id as the destination file.

                When  both  -p  and  -@  options  are specified, the -p option
                determines the behavior. However,  the  command  can  fail  if
                unable to preserve extended attributes.



   /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, ACLs, and extended attributes,
                if applicable. The command can fail if ACLs are  copied  to  a
                file  system without appropriate support. The command does not
                fail if unable to preserve extended attributes. If  unable  to
                duplicate  the  modification and access time or the permission
                modes, cp prints a diagnostic message to stderr and  return  a
                non-zero  exit  status.  If unable to preserve owner and group
                id, cp does not fail, and it clearsS_ISUID and S_ISGID bits in
                the  target.  cp  prints  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 appro-
                priate file access permissions. This includes being  superuser
                or the same owner id as the destination file.

                When  both -p and -@ options are specified, the last specified
                -p or -@ option determines the behavior.



OPERANDS
       The following operands are supported:

       source_file     A pathname of a regular file to be copied.



       source_dir      A pathname 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 encoun-
       tering files greater than or equal to 2 Gbyte ( 2**31 bytes).

EXAMPLES
       Example 1: Copying a File

       The following example copies a file:

       example% cp goodies goodies.old

       example% ls goodies*
       goodies goodies.old

       Example 2: Copying a List of Files

       The following example copies a list of files to  a  destination  direc-
       tory:

       example% cp ~/src/*   /tmp

       Example 3: Copying a Directory

       The  following  example copies 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.s

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

EXIT STATUS
       The following exit values are returned:

       0        All files were copied successfully.



       >>0       An error occurred.




ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

   /usr/bin/cp
       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).    ATTRIBUTE   TYPEATTRIBUTE  VALUE  AvailabilitySUNWcsu
       CSIEnabled Interface StabilityStable


   /usr/xpg4/bin/cp
       tab()    allbox;    cw(2.750000i)|     cw(2.750000i)     lw(2.750000i)|
       lw(2.750000i).    ATTRIBUTE  TYPEATTRIBUTE  VALUE  AvailabilitySUNWxcu4
       CSIEnabled Interface StabilityStandard


SEE ALSO
       chmod(1), chown(1), setfacl(1),  utime(2),  attributes(5),  environ(5),
       fsattr(5), largefile(5), standards(5)

NOTES
       The permission modes of the source file are preserved in the copy.

       A  --  permits  the  user  to  mark the end of any command line options
       explicitly, thus allowing cp to recognize filename arguments that begin
       with a -.



SunOS 5.10                        13 May 2004                            cp(1)