Click on any of the 687 commands below to get a description and list of available options. All links in the command summaries point to the online version of the book on Safari Bookshelf.
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.
-Sbackup-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.
-Vtype, --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: