cp command - Copy Files

You can copy the file using the cp command. The file contents of the original file name are copied with the new file name. The name of cp comes from copy.

cp OriginalFileName NewFileName

This is a sample to copy a file with the cp command. The contents of foo.txt will be copied to bar.txt.

cp foo.txt bar.txt

Copy directory - "-r" option of cp command

Use the "-r" option to copy the directory. r comes from recursive.

cp -r OriginalDirectoryName NewDirectoryName

The process of copying a directory is actually the process of recursively copying files.

This is a sample to copy a directory with "cp -r". All files contained in dir1 will be copied to dir2.

cp -r dir1 dir2

Copy all files in the directory

Use wildcards to copy all the files contained in the directory.

The following example means move all the files in the foo directory into the bar. Notice the "bar/" part.

Also note that hidden files are not included.

cp foo/* bar/

Show help --help option

Use the "--help" option to get help.

cp --help

Help is displayed.

Usage: cp [OPTION] ... [-T] SOURCE DEST
  or: cp [OPTION] ... SOURCE ... DIRECTORY
  or: cp [OPTION] ... -t DIRECTORY SOURCE ...
Copy SOURCE to DEST, or multiple SOURCE (s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.
  -a, --archive same as -dR --preserve = all
      --backup [= CONTROL] make a backup of each existing destination file
  -b like --backup but does not accept an argument
      --copy-contents copy contents of special files when recursive
  -d same as --no-dereference --preserve = link
  -f, --force if an existing destination file cannot be
                                 opened, remove it and try again
  -i, --interactive prompt before overwrite
  -H follow command-line symbolic links
  -l, --link link files instead of copying
  -L, --dereference always follow symbolic links
  -P, --no-dereference never follow symbolic links
  -p same as --preserve = mode, ownership, timestamps
      --preserve [= ATTR_LIST] preserve the specified attributes (default:
                                 mode, ownership, timestamps), if possible
                                 additional attributes: context, links,
                                 xattr, all
  -c same as --preserve = context
      --no-preserve = ATTR_LIST don't preserve the specified attributes
      --parents use full source file name under DIRECTORY
  -R, -r, --recursive copy directories recursively
      --remove-destination remove each existing destination file before
                                 attempting to open it (contrast with --force)
      --sparse = WHEN control creation of sparse files
      --strip-trailing-slashes remove any trailing slashes from each SOURCE
                                 argument argument
  -s, --symbolic-link make symbolic links instead of copying
  -S, --suffix = SUFFIX override the usual backup suffix
  -t, --target-directory = DIRECTORY copy all SOURCE arguments into DIRECTORY
  -T, --no-target-directory treat DEST as a normal file
  -u, --update copy only when the SOURCE file is newer
                                 than the destination file or when the
                                 destination file is missing
  -v, --verbose explain 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

Associated Information