mv (Unix)
mv(英語:move)是类Unix操作系统中移动单个或多个文件或目录的命令。一般在移动操作之后,原来的文件或目录不能再次访问。移动后的文件名可以与原来相同(只要不与原文件在相同目录中),也可以不同。当需要移动的文件和新文件位于同一文件系统上时,mv命令只是将原始文件重命名来达到移动的效果。操作要求拥有需要被修改目录的写入权限。
与已存在文件的冲突
当文件将被移动时,若目标目录含有与原始文件同名的文件,则目标文件将被删除。如果已存在的目标文件并没有写权限,但它的所在目录拥有写权限,则mv命令在移动前请求用户确认操作(当mv在终端中执行时)。但是使用 -f (强制) 选项来移动时,mv命令会跳过用户确认环节而直接执行移动。
移动行为
选项
大多数版本的mv命令支持以下选项:
- -h 帮助模式,显示支持的附加选项。 使用man mv命令可以查看在你所使用的操作系统中mv命令支持的详细参数选项。
- -i 交互模式,在将要覆盖一个已存在文件之前在标准错误中输出提示,若用户回答以'Y'或'y'字母开头,则覆盖操作将继续执行(覆盖此选项之前的-f和-n选项)。
- -n 不覆盖已存在的文件。(覆盖此选项之前的-f和-i选项)。
- -f 强制模式,强制覆盖目标文件(覆盖此选项之前的-i和-n选项)。
- -v 详述模式,在移动文件(或目录)后列出它们的名字。
附加选项(可以使用命令 man mv 以查看详情):
- -u 更新选项,也就是只在原始文件比目标文件新或目标文件不存在时执行移动。
- -b 备份选项,使用一个~作为后缀来备份已存在的目标文件。
示例
将'myfile'重命名为'myoldfilename':
mv myfile myoldfilename
从当前目录移动'myfile'到用户家目录:
mv myfile ~/myfile
将'myfile'移动到相对路径位置'subdir/myfile':
mv myfile subdir/myfile
mv myfile subdir # 此命令与前一命令作用相同,但不指明目标文件的文件名(暗示使用相同的文件名)
将'myfile'移动到子目录'subdir',并改名为'myfile2':
mv myfile subdir/myfile2
移动'be.03'文件到已挂载目录'/mnt/bkup'的子目录'bes'中(原文件将在移动完成后被删除):
mv be.03 /mnt/bkup/bes
移动多个文件到'mydir'(这些文件是'afile' 'another' '/home/yourdir/yourfile'):
mv afile another /home/yourdir/yourfile mydir
将以'Jun'开头的文件都移到'bkup/06'目录中,并输出被移动文件的详细清单:
mv -v Jun* bkup/06
查看关于mv命令的简单帮助,包括命令语法:
mv --help
查看mv命令的手册页:
man mv