最后修改时间:2026年5月17日
mv 命令用于移动文件和目录,也常用于重命名文件或目录。目标路径是目录时表示移动;目标路径是新名称时,通常就是重命名。
$ mv [options] source dest
常用选项如下:
| 选项 | 描述 |
|---|---|
| mv -f | 强制移动,目标文件存在时不提示直接覆盖。 |
| mv -i | 交互模式,覆盖目标文件前先询问。 |
| mv -u | 仅当源文件比目标文件新,或目标不存在时移动。 |
| mv -v | 显示移动或重命名过程中的详细信息。 |
| man mv | 查看 mv 命令帮助手册。 |
将 main.c 和 def.h 移动到 /home/usr/rapid/ 目录:
$ mv main.c def.h /home/usr/rapid/
将当前目录中的所有 C 文件移动到子目录 bak:
$ mv *.c bak
将子目录 bak 中的所有文件移动到当前目录:
$ mv bak/* .
将文件main.c重命名为main.bak:
$ mv main.c main.bak
将目录bak重命名为bak2:
$ mv bak bak2
只在 main.c 较新时移动:
$ mv -u main.c bak
$
移动 main.c,并在覆盖 bak/main.c 前提示:
$ mv -i main.c bak
mv: overwrite 'bak/main.c'? y
$
显示移动过程中的详细信息:
$ mv -v main.c bak
'main.c' -> 'bak/main.c'
mv 默认可能覆盖已有目标文件。处理重要文件时建议先用 mv -i,确认后再覆盖。
mv -i,目标文件存在时会询问是否覆盖。
mv -u 只在源文件比目标文件新,或目标文件不存在时移动。