mv

- move files

Synopsis

/usr/bin/mv [-fi] sourcetarget_file

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

/usr/xpg4/bin/mv [-fi] sourcetarget_file

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

Description

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:

the user must own the file

the user must own the directory

the file must be writable by the user

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.

Options

The following options are supported:

-f

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.

-i

mv prompts for confirmation whenever the move would overwrite an existing target. This is done regardless of whether the input is coming from a terminal. If the prompt for confirmation fails, this is equivalent to the user answering in the negative. An affirmative answer means that the move should proceed. Any other answer prevents mv from overwriting target.

/usr/bin/mv

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

/usr/xpg4/bin/mv

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

Operands

The following operands are supported:

source

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

target_file

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

target_dir

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

Usage

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

Environment Variables

See environ(5) for descriptions of the following environment variables that affect the execution of
mv: LANG, LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, and NLSPATH.

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(5).

See Also

Notes

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.