Mac Developer Library Developer


This manual page is for Mac OS X version 10.9

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

  • To learn how the manual is organized or to learn about command syntax, read the manual page for manpages(5).

  • For more information about this technology, look for other documentation in the Apple Developer Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.

MV(1)                     BSD General Commands Manual                    MV(1)

     mv -- move files

     mv [-f | -i | -n] [-v] source target
     mv [-f | -i | -n] [-v] source ... directory

     In its first form, the mv utility renames the file named by the source operand to the destination path
     named by the target operand.  This form is assumed when the last operand does not name an already
     existing directory.

     In its second form, mv moves each file named by a source operand to a destination file in the existing
     directory named by the directory operand.  The destination path for each operand is the pathname pro-duced produced
     duced by the concatenation of the last operand, a slash, and the final pathname component of the named

     The following options are available:

     -f      Do not prompt for confirmation before overwriting the destination path.  (The -f option over-rides overrides
             rides any previous -i or -n options.)

     -i      Cause mv to write a prompt to standard error before moving a file that would overwrite an
             existing file.  If the response from the standard input begins with the character `y' or `Y',
             the move is attempted.  (The -i option overrides any previous -f or -n options.)

     -n      Do not overwrite an existing file.  (The -n option overrides any previous -f or -i options.)

     -v      Cause mv to be verbose, showing files after they are moved.

     It is an error for either the source operand or the destination path to specify a directory unless both

     If the destination path does not have a mode which permits writing, mv prompts the user for confirma-tion confirmation
     tion as specified for the -i option.

     As the rename(2) call does not work across file systems, mv uses cp(1) and rm(1) to accomplish the
     move.  The effect is equivalent to:

           rm -f destination_path && \
           cp -pRP source_file destination && \
           rm -rf source_file

     The mv utility exits 0 on success, and >0 if an error occurs.

     The command "mv dir/afile dir" will abort with an error message.

     In legacy mode, the command "mv dir/afile dir" will fail silently, returning an exit code of 0.

     For more information about legacy mode, see compat(5).

     cp(1), rm(1), symlink(7)

     The -n and -v options are non-standard and their use in scripts is not recommended.

     The mv utility now supports HFS+ Finder and Extended Attributes and resource forks.  The mv utility
     will no longer strip resource forks off of HFS files.  For an alternative method, refer to cp(1).

     The mv utility is expected to be IEEE Std 1003.2 (``POSIX.2'') compatible.

     A mv command appeared in Version 1 AT&T UNIX.

BSD                              July 9, 2002                              BSD

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.