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.