Linux / Unix Copy command
Source: http://www.linuxdevcenter.com/linux/cmd/cmd.csp?path=c/cp
cp
cp [options] file1 file2 cp [options] files directory
Copy file1 to file2, or copy one or more files to the same names under directory. If the destination is an existing file, the file is overwritten; if the destination is an existing directory, the file is copied into the directory (the directory is not overwritten).
Options
-a, –archive
Preserve attributes of original files where possible. The same as -dpr.
-b, –backup
Back up files that would otherwise be overwritten.
-d, –no-dereference
Do not dereference symbolic links; preserve hard-link relationships between source and copy.
-f, –force
Remove existing files in the destination.
-i, –interactive
Prompt before overwriting destination files. On most systems, this flag is turned off by default except for the root user, who is normally prompted before overwriting files.
-l, –link
Make hard links, not copies, of nondirectories.
-p, –preserve
Preserve all information, including owner, group, permissions, and timestamps.
-P, –parents
Preserve intermediate directories in source. The last argument must be the name of an existing directory. For example, the command:
cp –parents jphekman/book/ch1 newdir
copies the file jphekman/book/ch1 to the file newdir/jphekman/book/ch1, creating intermediate directories as necessary.
-r, -R, –recursive
Copy directories recursively.
-S backup-suffix, –suffix=backup-suffix
Set suffix to be appended to backup files. This may also be set with the SIMPLE_BACKUP_SUFFIX environment variable. The default is ~. You need to explicitly include a period if you want one before the suffix (for example, specify .bak, not bak).
-s, –symbolic-link
Make symbolic links instead of copying. Source filenames must be absolute.
–sparse=[always|auto|never]
Handle files that have "holes" (are defined as a certain size but have less data). always creates a sparse file, auto creates one if the input file is sparse, and never creates a non-sparse file without holes.
-u, –update
Do not copy a file to an existing destination with the same or newer modification time.
-v, –verbose
Before copying, print the name of each file.
-V type, –version-control=type
Set the type of backups made. You may also use the VERSION_CONTROL environment variable. The default is existing. Valid arguments are:
t, numbered
Always make numbered backups.
nil, existing
Make numbered backups of files that already have them; otherwise, make simple backups.
never, simple
Always make simple backups.
-x, –one-file-system
Ignore subdirectories on other filesystems.
Example
Copy the contents of the guest directory recursively into the /archives/guest/ directory, and display a message for each file copied:
cd /archives && cp -av /home/guest guest