xref: /freebsd/bin/mv/mv.1 (revision 8c2f6c3be0125142d3c1782e4b0ee0634c584b9e)
1.\"-
2.\" Copyright (c) 1989, 1990, 1993
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.\" 3. 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.Dd March 15, 2013
33.Dt MV 1
34.Os
35.Sh NAME
36.Nm mv
37.Nd move files
38.Sh SYNOPSIS
39.Nm
40.Op Fl f | i | n
41.Op Fl hv
42.Ar source target
43.Nm
44.Op Fl f | i | n
45.Op Fl v
46.Ar source ... directory
47.Sh DESCRIPTION
48In its first form, the
49.Nm
50utility renames the file named by the
51.Ar source
52operand to the destination path named by the
53.Ar target
54operand.
55This form is assumed when the last operand does not name an already
56existing directory.
57.Pp
58In its second form,
59.Nm
60moves each file named by a
61.Ar source
62operand to a destination file in the existing directory named by the
63.Ar directory
64operand.
65The destination path for each operand is the pathname produced by the
66concatenation of the last operand, a slash, and the final pathname
67component of the named file.
68.Pp
69The following options are available:
70.Bl -tag -width indent
71.It Fl f
72Do not prompt for confirmation before overwriting the destination
73path.
74(The
75.Fl f
76option overrides any previous
77.Fl i
78or
79.Fl n
80options.)
81.It Fl h
82If the
83.Ar target
84operand is a symbolic link to a directory,
85do not follow it.
86This causes the
87.Nm
88utility to rename the file
89.Ar source
90to the destination path
91.Ar target
92rather than moving
93.Ar source
94into the directory referenced by
95.Ar target .
96.It Fl i
97Cause
98.Nm
99to write a prompt to standard error before moving a file that would
100overwrite an existing file.
101If the response from the standard input begins with the character
102.Ql y
103or
104.Ql Y ,
105the move is attempted.
106(The
107.Fl i
108option overrides any previous
109.Fl f
110or
111.Fl n
112options.)
113.It Fl n
114Do not overwrite an existing file.
115(The
116.Fl n
117option overrides any previous
118.Fl f
119or
120.Fl i
121options.)
122.It Fl v
123Cause
124.Nm
125to be verbose, showing files after they are moved.
126.El
127.Pp
128It is an error for the
129.Ar source
130operand to specify a directory if the target exists and is not a directory.
131.Pp
132If the destination path does not have a mode which permits writing,
133.Nm
134prompts the user for confirmation as specified for the
135.Fl i
136option.
137.Pp
138As the
139.Xr rename 2
140call does not work across file systems,
141.Nm
142uses
143.Xr cp 1
144and
145.Xr rm 1
146to accomplish the move.
147The effect is equivalent to:
148.Bd -literal -offset indent
149rm -f destination_path && \e
150cp -pRP source_file destination && \e
151rm -rf source_file
152.Ed
153.Sh EXIT STATUS
154.Ex -std
155.Sh EXAMPLES
156Rename file
157.Pa foo
158to
159.Pa bar ,
160overwriting
161.Pa bar
162if it already exists:
163.Pp
164.Dl $ mv -f foo bar
165.Sh COMPATIBILITY
166The
167.Fl h ,
168.Fl n ,
169and
170.Fl v
171options are non-standard and their use in scripts is not recommended.
172.Sh SEE ALSO
173.Xr cp 1 ,
174.Xr rm 1 ,
175.Xr symlink 7
176.Sh STANDARDS
177The
178.Nm
179utility is expected to be
180.St -p1003.2
181compatible.
182.Sh HISTORY
183A
184.Nm
185command appeared in
186.At v1 .
187