mv(1)

mv1

Move (rename) files

Usage

mv [OPTION] ... [-T] SOURCE DEST

mv [OPTION] ... SOURCE ... DIRECTORY

mv [OPTION] ... -t DIRECTORY SOURCE ...

Overview

Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.

Mandatory arguments to long options are mandatory for short options too.

--backup[=CONTROL]

make a backup of each existing destination file

-b

like --backup but does not accept an argument

--debug

explain how a file is copied. Implies -v

--exchange

exchange source and destination

-f, --force

do not prompt before overwriting

-i, --interactive

prompt before overwrite

-n, --no-clobber

(deprecated) silently skip existing files. See also --update

If you specify more than one of -i, -f, -n, only the final one takes effect.

--no-copy

do not copy if renaming fails

--strip-trailing-slashes

remove any trailing slashes from each SOURCE argument

-S, --suffix=SUFFIX

override the usual backup suffix

-t, --target-directory=DIRECTORY

move all SOURCE arguments into DIRECTORY

-T, --no-target-directory

treat DEST as a normal file

--update[=UPDATE]

control which existing files are updated; UPDATE={all,none,none-fail,older(default)}

-u

equivalent to --update[=older]. See below

-v, --verbose

explain what is being done

-Z, --context

set SELinux security context of destination file to default type

--help

display this help and exit

--version

output version information and exit

UPDATE controls which existing files in the destination are replaced. 'all' is the default operation when an --update option is not specified, and results in all existing files in the destination being replaced. 'none' is like the --no-clobber option, in that no files in the destination are replaced, and skipped files do not induce a failure. 'none-fail' also ensures no files are replaced in the destination, but any skipped files are diagnosed and induce a failure. 'older' is the default operation when --update is specified, and results in files being replaced if they're older than the corresponding source file.

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX. The version control method may be selected via the --backup option or through the VERSION_CONTROL environment variable. Here are the values:

none, off

never make backups (even if --backup is given)

numbered, t

make numbered backups

existing, nil

numbered if numbered backups exist, simple otherwise

simple, never

always make simple backups

Releases

19 releases since Debian 1.1 (Buzz); the text changed 15 times.

  1. 1.1
  2. 1.2–2.1
  3. 2.2
  4. 3.0
  5. 3.1
  6. 4.0
  7. 5.0
  8. 6.0
  9. 7
  10. 8
  11. 9
  12. 10
  13. 11
  14. 12
  15. 13
  16. Arch

--context since Debian 8 (Jessie); --debug since Debian 13 (Trixie); --exchange since Debian 13 (Trixie); --no-clobber since Debian 6.0 (Squeeze); --no-copy since Debian 13 (Trixie); --no-target-directory since Debian 4.0 (Etch); --strip-trailing-slashes since Debian 5.0 (Lenny); --target-directory since Debian 2.2 (Potato); -T since Debian 4.0 (Etch); -Z since Debian 8 (Jessie); -n since Debian 6.0 (Squeeze); -t since Debian 4.0 (Etch).

--reply until Debian 3.1 (Sarge); --version-control until Debian 2.1 (Slink); -V until Debian 2.1 (Slink).

Author

Written by Mike Parker, David MacKenzie, and Jim Meyering.

Reporting bugs

Report bugs to: <[email protected]>.
Report any translation bugs to: <https://translationproject.org/team/>.
GNU coreutils home page: <https://www.gnu.org/software/coreutils/>
General help using GNU software: <https://www.gnu.org/gethelp/>

From coreutils 9.12-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.