MV(1) User Commands MV(1)
NAME
mv - move files
SYNOPSIS
/usr/bin/mv [
-fin]
source target_file /usr/bin/mv [
-fin]
source...
target_dir /usr/xpg4/bin/mv [
-fin]
source target_file /usr/xpg4/bin/mv [
-fin]
source...
target_dirDESCRIPTION
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.
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. This overrides any
-i and
-n options already specified on the command line.
-i 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. This overrides any
-n options already specified on the command line. See the discussion of binary-specific behavior below for how -i and
-f interact.
-n mv will not overwrite
target if it already exists, proceeding
on to other sources. This does not generate an error. This
overrides any
-i or
-f options already specified on the command
line.
/usr/bin/mv Specifying the
-f the
-i, and the
-n options is not considered an
error. The last option specified determines the behavior of
mv with
one exception: the
-f option overrides all
-i options, regardless of
where they appear in the command line.
/usr/xpg4/bin/mv Specifying the
-f the
-i, and the
-n 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(7) for the description of the behavior of
mv when
encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
ENVIRONMENT VARIABLES
See
environ(7) 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(7).
EXIT STATUS
The following exit values are returned:
0 All input files were moved successfully.
>0 An error occurred.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
/usr/bin/mv +--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | Stable |
+--------------------+-----------------+
/usr/xpg4/bin/mv +--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|CSI | Enabled |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
SEE ALSO
cp(1),
cpio(1),
ln(1),
rm(1),
setfacl(1),
chmod(2),
attributes(7),
environ(7),
fsattr(7),
largefile(7),
standards(7)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.
September 14, 2024 MV(1)