linux version BSD down there

cp - copy files and directories

cp [OPTION]... [-T] SOURCE DEST
cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...

Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.
-d ‑‑no-dereference ‑‑preserve=link
-a,
‑‑archive
don't follow symbolic links
‑‑preserve=link
recursively
preserve mode,ownership,timestamps
-i,
‑‑interactive
prompt before overwrite
-u,
‑‑update
copy only when the SOURCE file is newer or the destination file doesn't exist
-f,
‑‑force
if an existing destination file cannot be opened, remove it and try again
‑‑remove‑destination remove destination file before opening it (contrast with ‑‑force)
‑‑backup[=control] make a backup of each existing destination file
-S,
‑‑suffix=suffix
backup suffix, default is ~
-b backup
-H follow command-line symbolic links
-s,
‑‑symbolic-link
make symbolic links instead of copying
-l,
‑‑link
link files instead of copying
-L,
‑‑dereference
follow symbolic links
-P,
‑‑no‑dereference
don't follow symbolic links
-p preserve mode, ownership, timestamps
‑‑preserve[=attr_list] preserve the specified attributes
default: mode, ownership, timestamps, security, contexts links, all
‑‑no‑preserve=attr_list don't preserve the specified attributes
‑‑parents use full source file name under DIRECTORY
-R,
-r, ‑‑recursive
copy directories recursively
‑‑sparse=when control creation of sparse files
auto if SOURCE file is detected as sparse
always if the SOURCE file has enough strings of zeros
never
‑‑strip‑trailing-slashes remove any trailing slashes from each SOURCE argument
-t,
‑‑target‑directory=dir
copy all SOURCE arguments into DIRECTORY
-T,
‑‑no‑target-directory
treat DEST as a normal file
‑‑copy-contents copy contents of special files when recursive
-v,
‑‑verbose
display what is being done
-x,
‑‑one‑file‑system
stay on this file system
-Z,
‑‑context=context
set security context of copy to context
‑‑help display this help and exit
‑‑version output version information and exit

ENVIRONMENT
 SIMPLE_BACKUP_SUFFIX
 VERSION_CONTROL
none, off never make backups (even if --backup is given)
numbered, t make numbered backups
existing, nil numbered if numbered backups exist, simple otherwise
simple, never always make simple backups
As a special case, cp makes a backup of SOURCE when the force and backup options are given and SOURCE and DEST are the same name for an existing, regular file.

cp - copy files

BDS version

cp [-R [-H|-L|-P]]   [-f|-i|-n] [-v] [-p] source target
the contents of the source are copied to the target.
Files that begin with a dot (ex: .bashrc) are not copied, use cp .* target.

cp [-R [-H|-L|-P]]   [-f|-i|-n] [-v] [-p] source filetarget_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.

-i interactivly prompt to standard error before overwriting an existing file, y continues
As this is not the default an alias cp='cp -i' is frequently entered into .profile
-f force, overwrite an existing file, without prompting for confirmation even if its mode is not writable. The target file is then writable.
(-f overrides any previous -i or -n options.)
-n Do not overwrite an existing file. (-n overrides any previous -f or -i options.)

-p preserve the modification time, access time, file flags,
this is 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.

 
-R Recursively copy the directory and the entire subtree.
Created directories have the same mode as the corresponding source directory.
Symbolic links are copied, rather than indirected through.
Hard linked files are copied multiple times as separate 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.

 
-P symbolic links not are followed. default.
-L symbolic links are followed.
-H symbolic links are not followed when encountered in the tree traversal.
symbolic links are followed if specified on the command line .

In the cp file directory form, target_directory must exist, unless a directory is the source and -R is specified.

If the destination file does not exist, the mode of the source file is used as modified by the file mode creation mask (umask, see csh).
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