mv - Moves files and directories
mv [-i | -f] [--] file1 file2
mv [-i | -f] [--] file1... directory
mv [-i | -f] [--] directory1... destination_directory
The mv command moves files from one directory to another or renames files
Interfaces documented on this reference page conform to industry standards
Refer to the standards(5) reference page for more information about indus-
try standards and associated tags.
-f Overrides the -i option and any mode restrictions. (If both -f and -i
are specified--for example, because an alias includes one of
them--whichever appears last overrides the other.)
-i Prompts you with the name of the file followed by a question mark when-
ever a move is to supersede an existing file. If the answer begins
with y, or the locale's equivalent of a y, the move continues. Any
other reply prevents the move from occurring. (If both -f and -i are
specified--for example, because an alias includes one of
them--whichever appears last overrides the other.)
-- Interprets all following arguments to mv as file names. This allows
file names to start with a - (dash).
If you move a file to a new directory, mv retains the original file name.
When you move a file, all other links to the file remain intact.
In the second form, one or more files are moved to directory with their
original file names. In the third form, one or more directories are moved
to the destination directory with their original names.
The mv command does not move a file onto itself.
When you use mv to rename a file, the target file can be either a new file
name or a new directory path name. If moving the file would overwrite an
existing file that does not have write permission set and if standard input
is a terminal, mv displays the permission code of the file to be overwrit-
ten and reads one line from standard input. If the line begins with y, or
the locale's equivalent of a y, the move takes place and the file is
overwritten. If not, mv does nothing with the file.
When you use mv to move a directory into an existing directory, the direc-
tory and its contents are added under the existing directory.
The LC_MESSAGES variable determines the locale's equivalent of y or n (for
If a mv operation fails, mv generally writes a diagnostic message to stan-
dard error, does nothing more with the current source file, and goes on to
process any remaining source files.
If the copying or removal of a file is prematurely terminated by a signal
or error, mv might leave a partial copy of the file at either the source or
the target path name. The mv program does not modify the source and target
path names simultaneously; therefore, program termination at any point
always leaves either the source file or the target file complete.
1. [Tru64 UNIX] If the source is on a different file system than the
destination, mv must copy the source to the destination's file system
and then delete the source. The effect is equivalent to the following:
rm -f destination &&&& cp -pr source destination &&&& rm -rf source
2. The mv command might overwrite existing files. Specify the -i option
last on the command line to cause the mv command to prompt you before
it moves a file.
The following exit values are returned:
0 All files were moved successfully.
>>0 An error occurred.
1. To rename a file, enter:
mv file1 file2
This renames file1 to file2. If a file named file2 already exists,
its old contents are replaced with those of file1.
2. To move a directory, enter:
mv dir1 dir2
This moves dir1 to dir2. It moves dir1 and all files and directories
under dir1 to the directory named dir2, if the second directory
exists. Otherwise, the directory dir1 gets renamed dir2.
3. To move a file to another directory and give it a new name, enter:
mv file1 dir1/file2
This moves file1 to dir1/file2. The name file1 is removed from the
current directory, and the same file appears as file2 in the directory
4. To move a file to another directory, keeping the same name, enter:
mv file1 dir1
This moves file1 to dir1/file1.
5. To move several files into another directory, enter:
mv file1 dir1/file2 /u/dir2
This moves file1 to /u/dir2/file1 and dir1/file2 to /u/dir2/file2.
6. To use mv with pattern-matching characters, enter:
mv dir1/* .
This moves all files in the directory dir1 into the current directory
(.), giving them the same names they had in dir1. This also empties
dir1. Note that you must type a space between the * (asterisk) and
the . (dot).
The following environment variables affect the execution of mv:
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.
If set to a non-empty string value, overrides the values of all the
other internationalization variables.
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).
Determines the locale for the format and contents of diagnostic mes-
sages written to standard error.
Determines the location of message catalogues for the processing of
Commands: cp(1), ln(1), rm(1)