]>
Commit | Line | Data |
---|---|---|
864a4b6e | 1 | .\"- |
44a7a5ab A |
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. | |
44a7a5ab A |
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 | |
864a4b6e | 33 | .\" $FreeBSD: src/bin/cp/cp.1,v 1.33 2005/02/25 00:40:46 trhodes Exp $ |
44a7a5ab | 34 | .\" |
864a4b6e | 35 | .Dd February 23, 2005 |
44a7a5ab | 36 | .Dt CP 1 |
6c780a1f | 37 | .Os |
44a7a5ab A |
38 | .Sh NAME |
39 | .Nm cp | |
40 | .Nd copy files | |
41 | .Sh SYNOPSIS | |
864a4b6e | 42 | .Nm cp |
44a7a5ab A |
43 | .Oo |
44 | .Fl R | |
45 | .Op Fl H | Fl L | Fl P | |
46 | .Oc | |
864a4b6e | 47 | .Op Fl fi | n |
40bf83fe | 48 | .Op Fl apvX |
44a7a5ab | 49 | .Ar source_file target_file |
864a4b6e | 50 | .Nm cp |
44a7a5ab A |
51 | .Oo |
52 | .Fl R | |
53 | .Op Fl H | Fl L | Fl P | |
54 | .Oc | |
864a4b6e | 55 | .Op Fl fi | n |
40bf83fe | 56 | .Op Fl apvX |
44a7a5ab A |
57 | .Ar source_file ... target_directory |
58 | .Sh DESCRIPTION | |
59 | In the first synopsis form, the | |
864a4b6e | 60 | .Nm cp |
44a7a5ab A |
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 | |
864a4b6e | 72 | .Nm cp |
44a7a5ab A |
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 | |
40bf83fe A |
77 | .It Fl a |
78 | Same as | |
79 | .Fl pPR | |
80 | options. Preserves structure and attributes of files | |
81 | but not directory structure. | |
44a7a5ab | 82 | .It Fl f |
40bf83fe A |
83 | .\"For each existing destination pathname, remove it and |
84 | If the destination file cannot be opened, remove it and | |
6c780a1f A |
85 | create a new file, without prompting for confirmation |
86 | regardless of its permissions. | |
44a7a5ab | 87 | (The |
44a7a5ab | 88 | .Fl f |
6c780a1f | 89 | option overrides any previous |
6c780a1f | 90 | .Fl n |
864a4b6e A |
91 | option.) |
92 | .Pp | |
93 | The target file is not unlinked before the copy. | |
94 | Thus, any existing access rights will be retained. | |
95 | .It Fl H | |
96 | If the | |
97 | .Fl R | |
98 | option is specified, symbolic links on the command line are followed. | |
99 | (Symbolic links encountered in the tree traversal are not followed.) | |
44a7a5ab | 100 | .It Fl i |
6c780a1f | 101 | Cause |
864a4b6e | 102 | .Nm cp |
44a7a5ab A |
103 | to write a prompt to the standard error output before copying a file |
104 | that would overwrite an existing file. | |
105 | If the response from the standard input begins with the character | |
6c780a1f A |
106 | .Sq Li y |
107 | or | |
108 | .Sq Li Y , | |
44a7a5ab | 109 | the file copy is attempted. |
6c780a1f A |
110 | (The |
111 | .Fl i | |
112 | option overrides any previous | |
6c780a1f | 113 | .Fl n |
864a4b6e A |
114 | option.) |
115 | .It Fl L | |
116 | If the | |
117 | .Fl R | |
118 | option is specified, all symbolic links are followed. | |
6c780a1f A |
119 | .It Fl n |
120 | Do not overwrite an existing file. | |
121 | (The | |
122 | .Fl n | |
123 | option overrides any previous | |
124 | .Fl f | |
125 | or | |
126 | .Fl i | |
127 | options.) | |
864a4b6e A |
128 | .It Fl P |
129 | If the | |
130 | .Fl R | |
131 | option is specified, no symbolic links are followed. | |
132 | This is the default. | |
44a7a5ab | 133 | .It Fl p |
6c780a1f | 134 | Cause |
864a4b6e A |
135 | .Nm cp |
136 | to preserve the following attributes of each source | |
137 | file in the copy: modification time, access time, | |
138 | file flags, file mode, user ID, and group ID, as allowed by permissions. | |
40bf83fe A |
139 | Access Control Lists (ACLs) and Extended Attributes (EAs), |
140 | including resource forks, will also be preserved. | |
44a7a5ab A |
141 | .Pp |
142 | If the user ID and group ID cannot be preserved, no error message | |
143 | is displayed and the exit value is not altered. | |
144 | .Pp | |
864a4b6e A |
145 | If the source file has its set-user-ID bit on and the user ID cannot |
146 | be preserved, the set-user-ID bit is not preserved | |
44a7a5ab | 147 | in the copy's permissions. |
864a4b6e A |
148 | If the source file has its set-group-ID bit on and the group ID cannot |
149 | be preserved, the set-group-ID bit is not preserved | |
44a7a5ab | 150 | in the copy's permissions. |
864a4b6e | 151 | If the source file has both its set-user-ID and set-group-ID bits on, |
44a7a5ab | 152 | and either the user ID or group ID cannot be preserved, neither |
864a4b6e | 153 | the set-user-ID nor set-group-ID bits are preserved in the copy's |
44a7a5ab | 154 | permissions. |
864a4b6e A |
155 | .It Fl R |
156 | If | |
157 | .Ar source_file | |
158 | designates a directory, | |
159 | .Nm cp | |
160 | copies the directory and the entire subtree connected at that point. | |
161 | If the | |
162 | .Ar source_file | |
163 | ends in a | |
164 | .Pa / , | |
165 | the contents of the directory are copied rather than the | |
166 | directory itself. | |
167 | This option also causes symbolic links to be copied, rather than | |
168 | indirected through, and for | |
169 | .Nm cp | |
170 | to create special files rather than copying them as normal files. | |
171 | Created directories have the same mode as the corresponding source | |
172 | directory, unmodified by the process' umask. | |
173 | .Pp | |
174 | In | |
175 | .Fl R | |
176 | mode, | |
177 | .Nm cp | |
178 | will continue copying even if errors are detected. | |
179 | .Pp | |
180 | Note that | |
181 | .Nm cp | |
182 | copies hard-linked files as separate files. | |
183 | If you need to preserve hard links, consider using | |
184 | .Xr tar 1 , | |
185 | .Xr cpio 1 , | |
186 | or | |
187 | .Xr pax 1 | |
188 | instead. | |
6c780a1f A |
189 | .It Fl v |
190 | Cause | |
864a4b6e | 191 | .Nm cp |
6c780a1f | 192 | to be verbose, showing files as they are copied. |
864a4b6e A |
193 | .It Fl X |
194 | Do not copy Extended Attributes (EAs) or resource forks. | |
44a7a5ab A |
195 | .El |
196 | .Pp | |
197 | For each destination file that already exists, its contents are | |
864a4b6e A |
198 | overwritten if permissions allow. |
199 | Its mode, user ID, and group | |
6c780a1f A |
200 | ID are unchanged unless the |
201 | .Fl p | |
202 | option was specified. | |
44a7a5ab | 203 | .Pp |
6c780a1f A |
204 | In the second synopsis form, |
205 | .Ar target_directory | |
44a7a5ab A |
206 | must exist unless there is only one named |
207 | .Ar source_file | |
6c780a1f A |
208 | which is a directory and the |
209 | .Fl R | |
44a7a5ab A |
210 | flag is specified. |
211 | .Pp | |
212 | If the destination file does not exist, the mode of the source file is | |
213 | used as modified by the file mode creation mask | |
214 | .Pf ( Ic umask , | |
215 | see | |
216 | .Xr csh 1 ) . | |
864a4b6e | 217 | If the source file has its set-user-ID bit on, that bit is removed |
44a7a5ab A |
218 | unless both the source file and the destination file are owned by the |
219 | same user. | |
864a4b6e | 220 | If the source file has its set-group-ID bit on, that bit is removed |
44a7a5ab A |
221 | unless both the source file and the destination file are in the same |
222 | group and the user is a member of that group. | |
864a4b6e | 223 | If both the set-user-ID and set-group-ID bits are set, all of the above |
44a7a5ab A |
224 | conditions must be fulfilled or both bits are removed. |
225 | .Pp | |
226 | Appropriate permissions are required for file creation or overwriting. | |
227 | .Pp | |
6c780a1f A |
228 | Symbolic links are always followed unless the |
229 | .Fl R | |
44a7a5ab A |
230 | flag is set, in which case symbolic links are not followed, by default. |
231 | The | |
232 | .Fl H | |
6c780a1f | 233 | or |
44a7a5ab A |
234 | .Fl L |
235 | flags (in conjunction with the | |
236 | .Fl R | |
237 | flag) cause symbolic links to be followed as described above. | |
238 | The | |
239 | .Fl H , | |
240 | .Fl L | |
241 | and | |
242 | .Fl P | |
243 | options are ignored unless the | |
244 | .Fl R | |
245 | option is specified. | |
246 | In addition, these options override each other and the | |
247 | command's actions are determined by the last one specified. | |
864a4b6e A |
248 | .Pp |
249 | If | |
250 | .Nm cp | |
251 | receives a | |
252 | .Dv SIGINFO | |
253 | (see the | |
254 | .Cm status | |
255 | argument for | |
256 | .Xr stty 1 ) | |
257 | signal, the current input and output file and the percentage complete | |
258 | will be written to the standard output. | |
259 | .Sh EXIT STATUS | |
6c780a1f | 260 | .Ex -std |
44a7a5ab A |
261 | .Sh COMPATIBILITY |
262 | Historic versions of the | |
864a4b6e | 263 | .Nm cp |
44a7a5ab A |
264 | utility had a |
265 | .Fl r | |
266 | option. | |
864a4b6e A |
267 | This implementation supports that option; |
268 | however, its use is strongly discouraged, | |
269 | as it does not correctly copy special files, symbolic links, or fifo's. | |
6c780a1f A |
270 | .Pp |
271 | The | |
272 | .Fl v | |
273 | and | |
274 | .Fl n | |
275 | options are non-standard and their use in scripts is not recommended. | |
c59d3020 | 276 | .Sh LEGACY DESCRIPTION |
864a4b6e | 277 | In legacy mode, |
c59d3020 | 278 | .Fl f |
864a4b6e A |
279 | will override |
280 | .Fl i . | |
281 | Also, under the | |
282 | .Fl f | |
283 | option, the target file is always unlinked before the copy. | |
284 | Thus, new access rights will always be set. | |
285 | .Pp | |
286 | In | |
287 | .Fl R | |
288 | mode, copying will terminate if an error is encountered. | |
40bf83fe A |
289 | .Pp |
290 | For more information about legacy mode, see | |
291 | .Xr compat 5 . | |
44a7a5ab A |
292 | .Sh SEE ALSO |
293 | .Xr mv 1 , | |
294 | .Xr rcp 1 , | |
6c780a1f | 295 | .Xr umask 2 , |
44a7a5ab | 296 | .Xr fts 3 , |
c59d3020 | 297 | .Xr compat 5 , |
44a7a5ab A |
298 | .Xr symlink 7 |
299 | .Sh STANDARDS | |
300 | The | |
864a4b6e | 301 | .Nm cp |
6c780a1f | 302 | command is expected to be |
44a7a5ab | 303 | .St -p1003.2 |
864a4b6e | 304 | compatible. |
6c780a1f A |
305 | .Sh HISTORY |
306 | A | |
864a4b6e | 307 | .Nm cp |
6c780a1f A |
308 | command appeared in |
309 | .At v1 . |