cp [-R [-H | -L | -P]] [-f | -i] [-pv] src target cp [-R [-H | -L] ] [-f | -i] [-NpPv] source_file ... target_directory
In the first synopsis form, the cp utility copies the contents of the source_file to the target_file. In the second synopsis form, the contents of each named source_file is copied to the destination target_directory. The names of the files themselves are not changed. If cp detects an attempt to copy a file to itself, the copy will fail.
The following options are available:
If the user ID and group ID cannot be preserved, no error message is displayed and the exit value is not altered.
If the source file has its set user ID bit on and the user ID cannot be preserved, the set user ID bit is not preserved in the copy's permissions. If the source file has its set group ID bit on and the group ID cannot be preserved, the set group ID bit is not preserved in the copy's permissions. If the source file has both its set user ID and set group ID bits on, and either the user ID or group ID cannot be preserved, neither the set user ID or set group ID bits are preserved in the copy's permissions.
For each destination file that already exists, its contents are overwritten if permissions allow, but its mode, user ID, and group ID are unchanged.
In the second synopsis form, target_directory must exist unless there is only one named source_file which is a directory and the -R flag is specified.
If the destination file does not exist, the mode of the source file is used as modified by the file mode creation mask (umask, see csh(1)). If the source file has its set user ID bit on, that bit is removed unless both the source file and the destination file are owned by the same user. If the source file has its set group ID bit on, that bit is removed unless both the source file and the destination file are in the same group and the user is a member of that group. If both the set user ID and set group ID bits are set, all of the above conditions must be fulfilled or both bits are removed.
Appropriate permissions are required for file creation or overwriting.
Symbolic links are always followed unless the -R flag is set, in which case symbolic links are not followed, by default. The -H or -L flags (in conjunction with the -R flag), as well as the -P flag cause symbolic links to be followed as described above. The -H and -L options are ignored unless the -R option is specified. In addition, these options override eachsubhedading other and the command's actions are determined by the last one specified.
This command returns 0 on success and non-zero if an error is encountered.
NONE
The following is an example of how to use cp
to
copy a file to a new name in the current directory:
SHLL [/] # cat joel cat: joel: No such file or directory SHLL [/] # cp etc/passwd joel SHLL [/] # cat joel root:*:0:0:root::/:/bin/sh rtems:*:1:1:RTEMS Application::/:/bin/sh tty:!:2:2:tty owner::/:/bin/false SHLL [/] # ls drwxr-xr-x 1 root root 536 Jan 01 00:00 dev/ drwxr-xr-x 1 root root 1072 Jan 01 00:00 etc/ -rw-r--r-- 1 root root 102 Jan 01 00:00 joel 3 files 1710 bytes occupied
The following is an example of how to use cp
to
copy one or more files to a destination directory and
use the same basename
in the destination directory:
SHLL [/] # mkdir tmp SHLL [/] # ls tmp 0 files 0 bytes occupied SHLL [/] # cp /etc/passwd tmp SHLL [/] # ls /tmp -rw-r--r-- 1 root root 102 Jan 01 00:01 passwd 1 files 102 bytes occupied SHLL [/] # cp /etc/passwd /etc/group /tmp SHLL [/] # ls /tmp -rw-r--r-- 1 root root 102 Jan 01 00:01 passwd -rw-r--r-- 1 root root 42 Jan 01 00:01 group 2 files 144 bytes occupied SHLL [/] #
This command is included in the default shell command set.
When building a custom command set, define
CONFIGURE_SHELL_COMMAND_CP
to have this
command included.
This command can be excluded from the shell command set by
defining CONFIGURE_SHELL_NO_COMMAND_CP
when all
shell commands have been configured.
The cp
command is implemented by a C language function which
has the following prototype:
int rtems_shell_rtems_main_cp( int argc, char **argv );
The configuration structure for the cp
has the
following prototype:
extern rtems_shell_cmd_t rtems_shell_CP_Command;
The implementation and portions of the documentation for this command are from NetBSD 4.0.
Copyright © 1988-2008 OAR Corporation