unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (OSF1-V5.1-alpha)
Page:
Section:
Apropos / Subsearch:
optional field



cp(1)									cp(1)



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 direc-
  tories, the source is	copied to the destination and created with the same
  name.

STANDARDS

  Interfaces documented	on this	reference page conform to industry standards
  as follows:

  cp:  XCU5.0

  Refer	to the standards(5) reference page for more information	about indus-
  try standards	and associated tags.

OPTIONS

  -f  [Tru64 UNIX]  The	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.)

  -h  [Tru64 UNIX]  Together with the -R option, the same as the -r option.

  -i  Prompts 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.

  -p  Preserves	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-ID, 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. [Tru64	UNIX]  Preserves the extended file
      attributes (property list), including the	access control list (ACL) if
      any.

  -r  When the source is a directory, copies the directory and the entire
      subtree connected	at that	point. Special file types, such	as symbolic
      links, named pipes (FIFOs), and block and	character devices, are opened
      and their	contents are copied to regular files having the	same name.
      (This may	be desired for links but is probably not desired for disk,
      tape, or network devices.) For example, if a is a	symbolic link to file
      z	and a is copied	to b with the -r option, b is not a symbolic link to
      file z but is a copy of it.

  -R  As with -r, when the source is a directory, copies the directory and
      the entire subtree connected at that point. However, destination_files
      are created with the same	file types as source_files, for	instance sym-
      bolic links, named pipes (FIFOs),	or block or character devices. As an
      example, if a is a symbolic link to file z and a is copied to b with
      the -R option, b will also be a symbolic link to file z. If source_file
      is a FIFO, the file permission bits of destination_file are set to
      those of source_file modified by the file	creation mask of the user if
      the -p option is not used.

  --  Indicates	that the arguments following this option are to	be inter-
      preted as	file names. This null option allows the	specification of file
      names that start with a minus.

DESCRIPTION

  If a destination file	already	exists,	its contents are overwritten if	per-
  missions allow, but cp does not change its mode, user	ID, or group ID. How-
  ever,	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 option	is used.

  Appropriate permissions are always required for file creation	or overwrit-
  ing.

  [Tru64 UNIX]	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	per-
       mission bits of the target directory are	set equal to the source
       directory bitwise inclusively ORed with S_IRWXU (0700 octal). 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 octal)
       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.





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 option to copy the contents of one directory
       to another, and source_directory	contains subdirectories	that do	not
       exist in	destination_directory, the subdirectories are created.

EXIT STATUS

  The following	exit values are	returned:

  0   Successful completion.

  >>0  An error occurred.

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 dir1 dir2

       The dir1	tree is	created	in dir2.

ENVIRONMENT VARIABLES

  The following	environment variables affect the execution of cp:

  LANG
      Provides a default value for the internationalization variables that
      are unset	or null. If LANG is unset or null, the corresponding value
      from the default locale is used.	If any of the internationalization
      variables	contain	an invalid setting, the	utility	behaves	as if none of
      the variables had	been defined.

  LC_ALL
      If set to	a non-empty string value, overrides the	values of all the
      other internationalization variables.

  LC_CTYPE
      Determines the locale for	the interpretation of sequences	of bytes of
      text data	as characters (for example, single-byte	as opposed to multi-
      byte characters in arguments).

  LC_MESSAGES
      Determines the locale for	the format and contents	of diagnostic mes-
      sages written to standard	error.

  NLSPATH
      Determines the location of message catalogues for	the processing of
      LC_MESSAGES.

SEE ALSO

  Commands:  cpio(1), find(1), link(1),	ln(1), mv(1), pax(1), tar(1),
  umask(1)

  Functions:  umask(2)

  Files:  proplist(4), acl(4)

  Standards:  standards(5)