Home > Linux Commands > Linux / Unix Copy command

Linux / Unix Copy command

January 20th, 2009

 

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

Categories: Linux Commands Tags:
Comments are closed.