linux-command/command/mv.md

2.2 KiB
Raw Blame History

mv

文件或目录重新命名和移动。

补充说明

mv命令用来对文件或目录重新命名或者将文件从一个目录移到另一个目录中。source表示源文件或目录target表示目标文件或目录。如果将一个文件移到一个已经存在的目标文件中则目标文件的内容将被覆盖。

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

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

注意事项mv与cp的结果不同mv好像文件“搬家”文件个数并未增加。而cp对文件进行复制文件个数增加了。

语法

mv(选项)(参数)

参数

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

例子

mv file3 new_command # 将文件 file3 改名为 new_command