Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cp(1) — OSF/1 3.0 αXP

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cpio(1)

link(1)

ln(1)

mv(1)

unlink(1)

cp(1)  —  Commands

NAME

cp − Copies files

SYNOPSIS

cp [-fhip] [--] source_file destination_file

cp [-fhip] [--] source_file ...  destination_directory

cp [-fhip] [-r | -R] [--] [source_file | source_directory] ...  destination_directory

The cp command copies a source file or the files in a source directory to a destination file or directory. If your source and destination are directories, the source is copied to the destination and created with the same name. 

FLAGS

-fThe cp command does not prompt you when an existing file is to be overwritten. (If both -f and -i are specified on the command line – for example, because an alias includes one of them – whichever appears last overrides the other.) 

-hTogether with the -R flag, the same as the -r flag. 

-iPrompts you with the name of the file whenever the copy would cause an existing file to be overwritten. An answer beginning with y, or the locale’s equivalent of y, causes cp to continue. Any other answer prevents it from overwriting the file. 

-pPreserves for the copy the modification time, access time, file mode, user ID, and group ID of the original, as allowed by permissions.  If the user ID and group ID cannot be preserved, no error message is displayed and the exit value is not altered.  If the original is set-user-ID or set-group -D, and either the user ID or the group ID cannot be preserved, the set-user-ID and set-group-ID bits are not preserved in the copy’s permissions. 

-rWhen the source is a directory, copies the directory and the entire subtree connected at that point. Special file types, such as symbolic links and block and character devices, are recreated instead of being simply copied.  For example, if a is a symbolic link to file z and a is copied to b with the -r flag, b will not be a symbolic link to file z but will be a copy of it. 

-RIdentical to -r except special files are not treated differently from regular files: special file types, such as symbolic links and block and character devices, are copied, not recreated. For example, if a is a symbolic link to file z and a is copied to b with the -R flag, b will also be a symbolic link to file z. 

--Indicates that the arguments following this flag are to be interpreted as filenames. This null flag allows the specification of filenames that start with a minus. 

DESCRIPTION

If a destination file already exists, its contents are overwritten if permissions allow, but cp does not change its mode, user ID, or group ID. However, if the file is not being copied by the root user, writing the file may clear the set-user-ID or set-group-ID permission bits. 

If the destination file does not exist, the mode of the source file is  used, as modified by the file mode creation mask (umask). If the source  file is either set-user-ID or set-group-ID, those bits are removed unless the -p flag is used. 

Appropriate permissions are always required for file creation or overwriting. 

You can also copy special device files. If the file is a named pipe, the data in the pipe is copied into a regular file. If the file is a device, the file is read until the end of file, and that data is copied into a regular file. 

The LC_MESSAGES variable determines the locale’s equivalent of y or n (for yes/no queries). 

If the source_file is a directory, the following is true:

       •If neither the -R or -r option was specified, an error message is displayed and source_file is not copied. 

       •If the target specified exists and is a file, not a directory, an error message is displayed and source_file is not copied. 

       •If the target does not exist and the -p option is specified, the permission bits of the target directory are set equal to the source directory bitwise inclusively ORed with S_IRWXU (0700). This means the newly created directory will always allow the owner read, write and execute permission. 

       •If the target does not exist and the -p option is not specified, the permission bits of the target directory are set equal to the source directory bits, modified by the file creation mask of the user (shuts off the corresponding permission bits specified in the umask). The resulting permission bits are then ORed with S_IRWXU (0700) which gives the owner read, write and execute permission. 

       •If the target does not exist and cannot be created, an error message is displayed and source_file is not copied. 

EXAMPLES

     1.To copy one file to another, enter:

cp file1 file2

If file2 exists (and is writable), it is replaced by file1. 

     2.To copy files to a directory, enter:

cp file1 file2 dir1

The dir1 directory must exist. 

     3.To copy all files in a directory and preserve their modification times, enter:

cp −p dir1/∗ dir2

     4.To copy a directory tree to another directory, enter:

cp −r dir/∗ dir2

The dir1 tree is created in dir2. 

NOTES

     1.Do not give the destination the same name as one of the source files. 

     2.If you specify a directory as the destination, the directory must already exist. 

     3.If you are using the -r flag to copy the contents of one directory to another, and source_directory contains subdirectories that do not exist in destination_directory, the subdirectories will be created. 

EXIT VALUES

The cp command returns 0 upon successful completion and greater than 0 if an error occurs. 

RELATED INFORMATION

Commands: cpio(1), link(1), ln(1), mv(1), unlink(1)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026