mv 命令

分类:常用对照表
mv 命令,用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv 命令说明及用法

返回常用 Linux 命令

说明

mv 命令 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。常见的用法为 mv [options] source target,其中,source 参数表示源文件或目录,target 参数表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。

mv 命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果:

  1. 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。
  2. 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv 的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名。

注意事项:mv 命令与 cp 命令的结果不同,mv 类似于文件“搬家”,文件个数并未增加。而 cp 则是对文件进行复制,文件个数增加了。

语法

mv [选项] [参数]

选项

  • --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
  • -b:当文件存在时,覆盖前,为其创建一个备份;
  • -f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
  • -i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
  • --strip-trailing-slashes:删除源文件中的斜杠“/”;
  • -S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
  • --target-directory=<目录>:指定源文件要移动到目标目录;
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作
  • -v:在移动过程中,显示移动过程的详细信息(通常用于移动大批量文件时,通过该参数,可以实时了解文件移动的过程)

参数

  • 源文件:源文件列表。
  • 目标文件:如果“目标文件”是文件名则在移动文件的同时,将其改名为“目标文件”;如果“目标文件”是目录名则将源文件移动到“目标文件”下。

实例

1、将目录 /usr/men 中的所有文件移到当前目录中(用 . 表示当前目录):

mv /usr/men/* .

2、移动文件到指定目录

mv file_1.txt /home/office/

3、同时移动多个文件到指定目录

mv file_2.txt file_3.txt file_4.txt /home/office/
mv *.txt /home/office/

4、移动目录到另一个目录

mv directory_1/ /home/office/

5、重命名文件

# 将文件 file_1.txt 改名为 file_2.txt
mv file_1.txt file_2.txt

6、重命名目录

mv directory_1/ directory_2/

7、移动文件时打印详细信息

mv -v *.txt /home/office

8、移动文件时提示是否覆盖文件

mv -i file_1.txt /home/office

9、当源文件比目标文件新时才执行更新

mv -uv *.txt /home/office

10、移动文件时不要覆盖任何已存在的文件

mv -vn *.txt /home/office

11、复制时创建备份

mv -bv *.txt /home/office

12、强制覆盖已经存在的文件

mv -f *.txt /home/office