svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
cp(1)
cp(1) User Commands cp(1)
NAME
cp - copy files
SYNOPSIS
/usr/bin/cp [-PSfipz@/] source_file target_file
/usr/bin/cp [-PSfipz@/] source_file... target
/usr/bin/cp -r [-H | -L | -P] [-Sfipz@/] source_dir... target
/usr/bin/cp -R [-H | -L | -P] [-Sfipz@/] source_dir... target
/usr/xpg4/bin/cp [-PSfipz@/] source_file target_file
/usr/xpg4/bin/cp [-PSfipz@/] source_file... target
/usr/xpg4/bin/cp -r [-H | -L | -P] [-Sfipz@/] source_dir... target
/usr/xpg4/bin/cp -R [-H | -L | -P] [-Sfipz@/] source_dir... target
DESCRIPTION
In the first synopsis form, neither source_file nor target_file are di‐
rectory 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 ac‐
cess time of source_file are set to the time the copy was made. If tar‐
get_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 has the {PRIV_SYS_CONFIG} privilege. 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 tar‐
get_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 di‐
rectory.
In the third or fourth synopsis forms, one or more directories speci‐
fied by source_dir are copied to the directory specified by target. Ei‐
ther the -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 ob‐
tained, this option attempts to unlink the destination file and
proceed.
-H Takes actions based on the type and contents of the file refer‐
enced by any symbolic link specified as a source_file operand.
If the source_file operand is a symbolic link, then cp copies the
file referenced by the symbolic link for the source_file operand.
All other symbolic links encountered during traversal of a file
hierarchy are preserved.
-i Interactive. cp prompts for confirmation whenever the copy would
overwrite an existing target. This is done regardless of whether
the input is coming from a terminal. If the prompt for confirma‐
tion fails, it is equivalent to the user answering in the nega‐
tive. An affirmative response means that the copy should proceed.
Any other answer prevents cp from overwriting target.
-L Takes actions based on the type and contents of the file refer‐
enced by any symbolic link specified as a source_file operand or
any symbolic links encountered during traversal of a file hierar‐
chy.
Copies files referenced by symbolic links. Symbolic links encoun‐
tered during traversal of a file hierarchy are not preserved.
-p Preserve. The cp utility duplicates not only the contents of
source_file, but also attempts to preserve its ACL, access and
modification times, extended attributes, extended system attrib‐
utes, file mode, and owner and group ids. This includes all the
same things for any extended attributes. Retention time is ex‐
cluded from the extended system attributes.
If cp is unable to preserve the access and modification times,
extended attributes, or the file mode, cp does not consider it a
failure. If cp is unable to preserve the owner and group id, the
copy does not fail, but cp silently clears the S_ISUID and S_IS‐
GID bits from the file mode of the target. The copy fails if cp
is unable to clear these bits. If cp is unable to preserve the
ACL or extended system attributes, the copy fails. If the copy
fails, then a diagnostic message is written to stderr and (after
processing any remaining operands) cp exits with a non-zero exit
status.
-P Takes actions on any symbolic link specified as a source_file
operand or any symbolic link encountered during traversal of a
file hierarchy.
Copies symbolic links. Symbolic links encountered during traver‐
sal of a file hierarchy are preserved.
-r Recursive. cp copies the directory and all its files, including
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.
-S Call fsync(3C) on the target file's file descriptor.
-z Fast Copy. cp will reflink the source and destination files.
If this option is used, cp will not overwrite an existing desti‐
nation file. Additionally, -f and -i are ignored.
When the -p option is used with -z, -@ and -/ are ignored and
system attributes will be copied. Any extended attributes will be
copied using reflink as well, including any of the extended at‐
tributes' extended system attributes.
For more information, see the reflink(3C) man page.
-@ Preserves extended attributes. cp attempts to copy all of the
source file's extended attributes along with the file data to the
destination file.
-/ Preserves extended attributes and extended system attributes.
Along with the file's data, the cp utility attempts to copy ex‐
tended attributes and extended system attributes from each source
file, and extended system attributes associated with extended at‐
tributes to the destination file. Retention time is excluded from
the extended system attributes.
If cp is unable to copy extended attributes or extended system
attributes, then a diagnostic message is written to stderr and
(after processing any remaining operands) exits with a non-zero
exit status.
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
If the -p option is specified with either the -@ option or the -/ op‐
tion, /usr/bin/cp behaves as follows
o When both -p and -@ are specified in any order, the copy
fails if extended attributes cannot be copied.
o When both -p and -/ are specified in any order, the copy
fails if extended system attributes cannot be copied.
/usr/xpg4/bin/cp
If the -p option is specified with either the -@ option or the -/ op‐
tion, /usr/xpg4/bin/cp behaves as follows:
o When both -p and -@ are specified, the last option specified
determines whether the copy fails if extended attributes
cannot be preserved.
o When both -p and -/ are specified, the last option specified
determines whether the copy fails if extended system attrib‐
utes cannot be preserved.
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.
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
Example 4 Copying Extended File System Attributes
The following example copies extended system attributes:
$ ls -/ c file1
-rw-r--r-- 1 foo staff 0 Oct 29 20:04 file1
{AH-----m--}
$ cp -/ file1 file2
$ ls -/c file2
-rw-r--r-- 1 foo staff 0 Oct 29 20:17 file2
{AH-----m--}
Example 5 Failing to Copy Extended System Attributes
The following example fails to copy extended system attributes:
$ ls -/c file1
-rw-r--r-- 1 foo staff 0 Oct 29 20:04 file1
{AH-----m--}
$ cp -/ file1 /tmp
cp: Failed to copy extended system attributes from file1 to /tmp/file1
$ ls -/c /tmp/file1
-rw-r--r-- 1 foo staff 0 Oct 29 20:09 /tmp/file1
{}
ENVIRONMENT VARIABLES
See environ(7) for descriptions of the following environment variables
that affect the execution of cp: LANG, LC_ALL, LC_COLLATE, LC_CTYPE,
LC_MESSAGES, and NLSPATH.
Affirmative responses are processed using the extended regular expres‐
sion defined for the yesexpr keyword in the LC_MESSAGES category of the
user's locale. The locale specified in the LC_COLLATE category defines
the behavior of ranges, equivalence classes, and multi-character col‐
lating elements used in the expression defined for yesexpr. The locale
specified in LC_CTYPE determines the locale for interpretation of se‐
quences of bytes of text data a characters, the behavior of character
classes used in the expression defined for the yesexpr. See locale(7).
EXIT STATUS
The following exit values are returned:
0 All files were copied successfully.
> 0 An error occurred.
ATTRIBUTES
See attributes(7) for descriptions of the following attributes:
/usr/bin/cp
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/core-os _ CSIEnabled _ Interface
StabilityCommitted
/usr/xpg4/bin/cp
tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE TYPEAT‐
TRIBUTE VALUE _ Availabilitysystem/xopen/xcu4 _ CSIEnabled _ Interface
StabilityCommitted
SEE ALSO
chmod(1), chown(1), fsync(1), utime(2), fgetattr(3C), fsync(3C), at‐
tributes(7), environ(7), fsattr(7), locale(7), privileges(7), stan‐
dards(7)
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 ex‐
plicitly, thus allowing cp to recognize filename arguments that begin
with a -.
HISTORY
Support for the -S option was added in the Oracle Solaris 11.4.60 re‐
lease.
Support for the -z option was added in the Oracle Solaris 11.4.0 re‐
lease.
Support for the -/ option was added in the Oracle Solaris 11.0.0 re‐
lease.
Support for the -H, -L, and -P options was added in the Solaris 10 3/05
release.
Support for the -@ option was added in the Solaris 9 release.
Support for the -R option was restored, and support for the -f option
was added in the Solaris 2.5 release.
The /usr/xpg4/bin/cp command was added in the Solaris 2.5 release.
The /usr/bin/cp command, with support for the -i, -p, and -r options,
has been included in all Sun and Oracle releases of Solaris. The
/usr/bin/cp command in Solaris 1.x releases also included support for
the -R option, which was not included in the Solaris 2.0 through 2.4
releases.
Oracle Solaris 11.4 1 Mar 2024 cp(1)