mv 命令是 move 的缩写,mv 命令常常用于移动、重命名文件或目录,如果将一个文件移动到一个已经存在的目标文件中,这时目标文件的内容会被此文件内容覆盖。

如果源为文件,而目标为目录,mv 将进行文件的位置移动。如果源为目录,则目标只能是目录(不能为文件),mv 将进行目录的重命令名。

mv 命令移动文件时,在目标不同的情况下,会有下面 4 种不同的结果

  • 如果目标是指定的某一个具体路径,则源文件会被移动到此目录下,且文件名不变。
  • 如果目标不是目录,则源文件名(只能有一个)会变为此目标文件名,如果存在同名文件,则会覆盖己存在的同名文件。
  • 如果源文件和目标文件在同一个目录下,mv 的作用就是修改文件名。
  • 当目标是目录时,源文件或目录可以是多个,这时所有的源文件都会被移至目标目录下。且所有的文件都将保留以前的文件名。

语法格式

1
mv [options] [source] [dest]

参数

选项 说明
-i 覆盖已有文件时提醒用户确认,centos7会创建别名,cp会默认加上-i参数
-u 更新文件,即只有源文件比目标文件更新或目标不存在时才拷贝
-n 不覆盖已存在文件
-f 如果目标文件无法打开则将其移除并重试
-v 显示详情
-b 每个已存在的目标文件创建备份,还可以增加参数控制备份方式,一般默认即可

案例

重命名文件

1
mv 1 2

移动文件

1
mv 1 /root/2