cp is the command entered in a Unix shell to copy a file
from one place to another, possibly on a different filesystem. The original
file remains unchanged, and the new file may have the same or a different name.
To Copy a File to another File
cp [ -f ] [ -h ] [ -i ] [ -p ][ -- ] SourceFile
TargetFile
To Copy a File to a Directory
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -r | -R ] [ -- ]
SourceFile ... TargetDirectory
To Copy a Directory to a Directory
cp [ -f ] [ -h ] [ -i ] [ -p ] [ -- ] { -r | -R }
SourceDirectory ... TargetDirectory
-f (force) – specifies removal of the target file if it
cannot be opened for write operations. The removal precedes any copying
performed by the cp command.
-h – makes the cp command copy symbolic links. The default
is to follow symbolic links, that is, to copy files to which symbolic links
point.
-i (interactive) – prompts you with the name of a file to
be overwritten. This occurs if the TargetDirectory or TargetFile parameter
contains a file with the same name as a file specified in the SourceFile or
SourceDirectory parameter. If you enter y or the locale's equivalent of y, the
cp command continues. Any other answer prevents the cp command from overwriting
the file.
-p (preserve) – duplicates the following characteristics of
each SourceFile/SourceDirectory in the corresponding TargetFile and/or TargetDirectory:
Examples
To make a copy of a file in the current directory, enter:
cp prog.c
prog.bak
This copies prog.c to prog.bak. If the prog.bak file does
not already exist, the cp command creates it. If it does exist, the cp command
replaces it with a copy of the prog.c file.
To copy a file in your current directory into another
directory, enter:
cp Mydir /home/yourDir/clients
This copies the
Mydir file to
/home/yourDir/clients/MyDir.
To copy a file to a new file and preserve the
modification date, time, and access control list associated with the source
file, enter:
cp -p smith
smith.jr
This copies the smith file to the smith.jr file. Instead
of creating the file with the current date and time stamp, the system gives the
smith.jr file the same date and time as the smith file. The smith.jr file also
inherits the smith file's access control protection.
To copy all the files in a directory to a new directory,
enter:
cp
/home/My/clients/* /home/Your/customers
This copies only the files in the clients directory to
the customers directory.
To copy a directory, including all its files and
subdirectories, to another directory, enter:
cp -R
/home/My/clients /home/My/customers
This copies the clients directory, including all its
files, subdirectories, and the files in those subdirectories, to the
customers/clients directory.
To copy a specific set of files to another directory,
enter:
cp File1 File2 File3 /home/My/clients
This copies the
File1, File2 and File3 files in your
current working directory to the
/home/My/clients directory.
To use pattern-matching characters to copy files, enter:
cp programs/*.c
.
This copies the files in the programs directory that end
with .c to the current directory, signified by the single . (dot). You must
type a space between the c and the final dot.