cp
- copy files BSD version i.e. Mac OS X (darwin) lion inclused -X
cp [-R [-H|-L|-P]] [-f|-i|-n]†
[-v] [-a|-p] [-X]
source target
| the contents of the source are copied to the target.
Files that begin with a dot (ex: .bashrc, .profile ) are not copied, use cp .* target .
| cp [-R [-H|-L|-P]]
[-f|-i|-n]
[-v] [-a| -p] [-X]
source file… target_directory
source files are copied to the target_directory.
| | | |
An attempt to copy a file to itself fails.
-v | verbose, showing files as they are copied.
|
-aSafe; i.e. Same as -pPR , preserves structure and attributes of files but not directory structure.
| -i interactivly prompt to standard error before overwriting an existing file, y continues.
Not the default an alias cp='cp -i' is frequently entered into .profile
Overrides previous -n (don't overwrite).
| -f | force, overwrite an existing file, without prompting for confirmation even if its mode is not writable existing access rights will be retained.
(-f overrides any previous -i or -n options.)
| -n | Do not overwrite an existing file.
(-n overrides any previous -f or -i options.)
Not the default
| -p | preserve the modification time, access time, file flags,
Access Control Lists (ACLs) and Extended Attributes (EAs), including resource forks
Not the default an alias cp='cp -p' is frequently entered into .profile
File mode is preserved without specifing -p .
If the user ID and group ID cannot be preserved, no error message
is displayed and the exit value is not affected ( ex: cp /user/you/file mycopy )
If the source file has both "set user ID" and "set group ID" and
either cannot be preserved, neither bits are preserved.
If the destination file exists, its contents are overwritten, but its mode, user ID, and group ID are unchanged unless -p was specified.
| -XDo not copy Extended Attributes (EAs) or resource forks
|
| -R Recursively copy the directory and the entire subtree.
If source_file ends in / , the contents of the directory are copied rather than the directory itself.
i.e.
cp -R /your/source . will cause a source directory to be created
cp -R /your/source/ . will cause the files in the source directory to be copied into the current directory
| Symbolic Link processing
| -P | not are followed (with -R . Default.
| -L | links are followed.
| -H | not followed when encountered in the tree traversal.
followed if specified on the command line .
| | | | |
Created directories have the same mode as the corresponding source directory.
Symbolic links are copied, rather than indirected through.
Hard linked files are copied files, This causes additional space to be required and the files in the destination directory are not longer linked.
To preserve hard links, use tar,
cpio, or pax .
New special files are created rather than copying them as normal files.
In the cp fileDirectory
form, target_directory
must exist,
unless
a directory is the source and -R
is specified.
The mode of the destination file (if it does not exist) is the mode of the source modified by the umask
.
If the source file has its set user ID bit on, that bit is removed unless
both the source file and the destination file are owned by the same user.
If the source file has its set group ID bit on, that bit is removed
unless both the source file and the destination file are in the same
group and the user is a member of that group.
If both the set user ID
and set group ID bits are set, all of the above conditions must be fulfilled or both bits are removed.
Appropriate permissions are required for file creation or overwriting.
Symbolic links are followed unless -R
is set.
-H
or -L
(in conjunction with -R
)
cause symbolic links to be followed as described above.
-H
, -L
and -P
are ignored unless -R
is specified.
These options override each other and the last one specified is used.
exits 0 on success, and >0 if an error occurs.
See mv, rcp, umask,
fts, symlink
CP
BSD July 23, 2002