]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - bin/cp/cp.1
This commit was generated by cvs2svn to compensate for changes in r171577,
[FreeBSD/FreeBSD.git] / bin / cp / cp.1
1 .\"-
2 .\" Copyright (c) 1989, 1990, 1993, 1994
3 .\"     The Regents of the University of California.  All rights reserved.
4 .\"
5 .\" This code is derived from software contributed to Berkeley by
6 .\" the Institute of Electrical and Electronics Engineers, Inc.
7 .\"
8 .\" Redistribution and use in source and binary forms, with or without
9 .\" modification, are permitted provided that the following conditions
10 .\" are met:
11 .\" 1. Redistributions of source code must retain the above copyright
12 .\"    notice, this list of conditions and the following disclaimer.
13 .\" 2. Redistributions in binary form must reproduce the above copyright
14 .\"    notice, this list of conditions and the following disclaimer in the
15 .\"    documentation and/or other materials provided with the distribution.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     @(#)cp.1        8.3 (Berkeley) 4/18/94
33 .\" $FreeBSD$
34 .\"
35 .Dd October 27, 2006
36 .Dt CP 1
37 .Os
38 .Sh NAME
39 .Nm cp
40 .Nd copy files
41 .Sh SYNOPSIS
42 .Nm
43 .Oo
44 .Fl R
45 .Op Fl H | Fl L | Fl P
46 .Oc
47 .Op Fl f | i | n
48 .Op Fl lpv
49 .Ar source_file target_file
50 .Nm
51 .Oo
52 .Fl R
53 .Op Fl H | Fl L | Fl P
54 .Oc
55 .Op Fl f | i | n
56 .Op Fl lpv
57 .Ar source_file ... target_directory
58 .Sh DESCRIPTION
59 In the first synopsis form, the
60 .Nm
61 utility copies the contents of the
62 .Ar source_file
63 to the
64 .Ar target_file .
65 In the second synopsis form,
66 the contents of each named
67 .Ar source_file
68 is copied to the destination
69 .Ar target_directory .
70 The names of the files themselves are not changed.
71 If
72 .Nm
73 detects an attempt to copy a file to itself, the copy will fail.
74 .Pp
75 The following options are available:
76 .Bl -tag -width flag
77 .It Fl H
78 If the
79 .Fl R
80 option is specified, symbolic links on the command line are followed.
81 (Symbolic links encountered in the tree traversal are not followed.)
82 .It Fl L
83 If the
84 .Fl R
85 option is specified, all symbolic links are followed.
86 .It Fl P
87 If the
88 .Fl R
89 option is specified, no symbolic links are followed.
90 This is the default.
91 .It Fl R
92 If
93 .Ar source_file
94 designates a directory,
95 .Nm
96 copies the directory and the entire subtree connected at that point.
97 If the
98 .Ar source_file
99 ends in a
100 .Pa / ,
101 the contents of the directory are copied rather than the
102 directory itself.
103 This option also causes symbolic links to be copied, rather than
104 indirected through, and for
105 .Nm
106 to create special files rather than copying them as normal files.
107 Created directories have the same mode as the corresponding source
108 directory, unmodified by the process' umask.
109 .Pp
110 Note that
111 .Nm
112 copies hard linked files as separate files.
113 If you need to preserve hard links, consider using
114 .Xr tar 1 ,
115 .Xr cpio 1 ,
116 or
117 .Xr pax 1
118 instead.
119 .It Fl f
120 For each existing destination pathname, remove it and
121 create a new file, without prompting for confirmation
122 regardless of its permissions.
123 (The
124 .Fl f
125 option overrides any previous
126 .Fl i
127 or
128 .Fl n
129 options.)
130 .It Fl i
131 Cause
132 .Nm
133 to write a prompt to the standard error output before copying a file
134 that would overwrite an existing file.
135 If the response from the standard input begins with the character
136 .Sq Li y
137 or
138 .Sq Li Y ,
139 the file copy is attempted.
140 (The
141 .Fl i
142 option overrides any previous
143 .Fl f
144 or
145 .Fl n
146 options.)
147 .It Fl l
148 Create hard links to regular files in a hierarchy instead of copying.
149 .It Fl n
150 Do not overwrite an existing file.
151 (The
152 .Fl n
153 option overrides any previous
154 .Fl f
155 or
156 .Fl i
157 options.)
158 .It Fl p
159 Cause
160 .Nm
161 to preserve the following attributes of each source
162 file in the copy: modification time, access time,
163 file flags, file mode, user ID, and group ID, as allowed by permissions.
164 .Pp
165 If the user ID and group ID cannot be preserved, no error message
166 is displayed and the exit value is not altered.
167 .Pp
168 If the source file has its set-user-ID bit on and the user ID cannot
169 be preserved, the set-user-ID bit is not preserved
170 in the copy's permissions.
171 If the source file has its set-group-ID bit on and the group ID cannot
172 be preserved, the set-group-ID bit is not preserved
173 in the copy's permissions.
174 If the source file has both its set-user-ID and set-group-ID bits on,
175 and either the user ID or group ID cannot be preserved, neither
176 the set-user-ID nor set-group-ID bits are preserved in the copy's
177 permissions.
178 .It Fl v
179 Cause
180 .Nm
181 to be verbose, showing files as they are copied.
182 .El
183 .Pp
184 For each destination file that already exists, its contents are
185 overwritten if permissions allow.
186 Its mode, user ID, and group
187 ID are unchanged unless the
188 .Fl p
189 option was specified.
190 .Pp
191 In the second synopsis form,
192 .Ar target_directory
193 must exist unless there is only one named
194 .Ar source_file
195 which is a directory and the
196 .Fl R
197 flag is specified.
198 .Pp
199 If the destination file does not exist, the mode of the source file is
200 used as modified by the file mode creation mask
201 .Pf ( Ic umask ,
202 see
203 .Xr csh 1 ) .
204 If the source file has its set-user-ID bit on, that bit is removed
205 unless both the source file and the destination file are owned by the
206 same user.
207 If the source file has its set-group-ID bit on, that bit is removed
208 unless both the source file and the destination file are in the same
209 group and the user is a member of that group.
210 If both the set-user-ID and set-group-ID bits are set, all of the above
211 conditions must be fulfilled or both bits are removed.
212 .Pp
213 Appropriate permissions are required for file creation or overwriting.
214 .Pp
215 Symbolic links are always followed unless the
216 .Fl R
217 flag is set, in which case symbolic links are not followed, by default.
218 The
219 .Fl H
220 or
221 .Fl L
222 flags (in conjunction with the
223 .Fl R
224 flag) cause symbolic links to be followed as described above.
225 The
226 .Fl H ,
227 .Fl L
228 and
229 .Fl P
230 options are ignored unless the
231 .Fl R
232 option is specified.
233 In addition, these options override each other and the
234 command's actions are determined by the last one specified.
235 .Pp
236 If
237 .Nm
238 receives a
239 .Dv SIGINFO
240 (see the
241 .Cm status
242 argument for
243 .Xr stty 1 )
244 signal, the current input and output file and the percentage complete
245 will be written to the standard output.
246 .Sh EXIT STATUS
247 .Ex -std
248 .Sh COMPATIBILITY
249 Historic versions of the
250 .Nm
251 utility had a
252 .Fl r
253 option.
254 This implementation supports that option, however, its behavior
255 is different from historical
256 .Fx
257 behavior.
258 Use of this option
259 is strongly discouraged as the behavior is
260 implementation-dependent.
261 In
262 .Fx ,
263 .Fl r
264 is a synonym for
265 .Fl RL
266 and works the same unless modified by other flags.
267 Historical implementations
268 of
269 .Fl r
270 differ as they copy special files as normal
271 files while recreating a hierarchy.
272 .Pp
273 The
274 .Fl v
275 and
276 .Fl n
277 options are non-standard and their use in scripts is not recommended.
278 .Sh SEE ALSO
279 .Xr mv 1 ,
280 .Xr rcp 1 ,
281 .Xr umask 2 ,
282 .Xr fts 3 ,
283 .Xr symlink 7
284 .Sh STANDARDS
285 The
286 .Nm
287 command is expected to be
288 .St -p1003.2
289 compatible.
290 .Sh HISTORY
291 A
292 .Nm
293 command appeared in
294 .At v1 .