cp(1) manual page
Table of Contents
cp - copy files
/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
SUNWcsu
SUNWxcu4
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 super-user; 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 specified 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.
The
following options are supported:
- -f
- Unlink. If a file descriptor for a destination
file cannot be obtained, attempt to unlink the destination file and proceed.
- -i
- Interactive. cp will prompt 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 overwriting target.
- -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
S_ISGID
cp will print a diagnostic message to stderr and return a non-zero
exit status if unable to clear these bits.
- -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
S_ISGID
cp
will print a diagnostic message to stderr and return a non-zero exit status
if unable to clear these bits.
- -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.
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.
.- To copy a file:
example% cp goodies goodies.old
example% ls goodies*
goodies goodies.old
.- To copy a list of files to a destination directory:
example% cp ~/src/*
/tmp
.- 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
See environ(5)
for descriptions of the following environment
variables that affect the execution of cp: LC_COLLATE
, LC_CTYPE
, LC_MESSAGES
,
and NLSPATH
.
The following exit values are returned:
- All files
were copied successfully.
- >0
- An error occurred.
chmod(1)
, setfacl(1)
,
environ(5)
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 -.
If a -- and a - both appear on the same command line, the second will be
interpreted as a filename.
Table of Contents