MV(1) User Commands MV(1)


mv - move files


/usr/bin/mv [-fi] source target_file

/usr/bin/mv [-fi] source... target_dir

/usr/xpg4/bin/mv [-fi] source target_file

/usr/xpg4/bin/mv [-fi] source... target_dir


In the first synopsis form, the mv utility moves the file named by the
source operand to the destination specified by the target_file. source
and target_file can not have the same name. If target_file does not
exist, mv creates a file named target_file. If target_file exists, its
contents are overwritten. This first synopsis form is assumed when the
final operand does not name an existing directory.

In the second synopsis form, mv moves each file named by a source operand
to a destination file in the existing directory named by the target_dir
operand. The destination path for each source is the concatenation of the
target directory, a single slash character (/), and the last path name
component of the source. This second form is assumed when the final
operand names an existing directory.

If mv determines that the mode of target_file forbids writing, it prints
the mode (see chmod(2)), ask for a response, and read the standard input
for one line. If the response is affirmative, the mv occurs, if
permissible; otherwise, the command exits. Notice that the mode displayed
can not fully represent the access permission if target is associated
with an ACL. When the parent directory of source is writable and has the
sticky bit set, one or more of the following conditions must be true:

o the user must own the file

o the user must own the directory

o the file must be writable by the user

o the user must be a privileged user

If source is a file and target_file is a link to another file with links,
the other links remain and target_file becomes a new file.

If source and target_file/target_dir are on different file systems, mv
copies the source and deletes the original. Any hard links to other files
are lost. mv attempts to duplicate the source file characteristics to the
target, that is, the owner and group id, permission modes, modification
and access times, ACLs, and extended attributes, if applicable. For
symbolic links, mv preserves only the owner and group of the link itself.

If unable to preserve owner and group id, mv clears S_ISUID and S_ISGID
bits in the target. mv prints a diagnostic message to stderr if unable to
clear these bits, though the exit code is not affected. mv might be
unable to preserve extended attributes if the target file system does not
have extended attribute support. /usr/xpg4/bin/mv prints a diagnostic
message to stderr for all other failed attempts to duplicate file
characteristics. The exit code is not affected.

In order to preserve the source file characteristics, users must have the
appropriate file access permissions. This includes being super-user or
having the same owner id as the destination file.


The following options are supported:

mv moves the file(s) without prompting even if it is writing over
an existing target. Note that this is the default if the standard
input is not a terminal.

mv prompts for confirmation whenever the move would overwrite an
existing target. An affirmative answer means that the move should
proceed. Any other answer prevents mv from overwriting the target.

Specifying both the -f and the -i options is not considered an error. The
-f option overrides the -i option.

Specifying both the -f and the -i options is not considered an error. The
last option specified determines the behavior of mv.


The following operands are supported:

A path name of a file or directory to be moved.

A new path name for the file or directory being moved.

A path name of an existing directory into which to move
the input files.


See largefile(7) for the description of the behavior of mv when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).


See environ(7) for descriptions of the following environment variables
that affect the execution of mv: LANG, LC_ALL, LC_COLLATE, LC_CTYPE,

Affirmative responses are processed using the extended regular expression
defined for the yesexpr keyword in the LC_MESSAGES category of the user's
locale. The locale specified in the LC_COLLATE category defines the
behavior of ranges, equivalence classes, and multi-character collating
elements used in the expression defined for yesexpr. The locale specified
in LC_CTYPE determines the locale for interpretation of sequences of
bytes of text data a characters, the behavior of character classes used
in the expression defined for the yesexpr. See locale(7).


The following exit values are returned:

All input files were moved successfully.

An error occurred.


See attributes(7) for descriptions of the following attributes:


|CSI | Enabled |
|Interface Stability | Stable |


|CSI | Enabled |
|Interface Stability | Standard |


cp(1), cpio(1), ln(1), rm(1), setfacl(1), chmod(2), attributes(7),
environ(7), fsattr(7), largefile(7), standards(7)


A -- permits the user to mark explicitly the end of any command line
options, allowing mv to recognize filename arguments that begin with a -.
As an aid to BSD migration, mv accepts - as a synonym for --. This
migration aid might disappear in a future release.

July 17, 2007 MV(1)