mv命令

mv 命令 #

mv命令(move)用于移动或重命名文件和目录。它可以将文件从一个位置移动到另一个位置,也可以在不改变位置的情况下更改文件名。

语法 #

mv [选项] 源文件... 目标

常用选项 #

选项 描述
-b, --backup 为已存在的目标文件创建备份
-f, --force 不提示确认,强制覆盖已存在的文件
-i, --interactive 覆盖前提示确认
-n, --no-clobber 不覆盖已存在的文件
-u, --update 仅当源文件比目标文件新或目标文件不存在时才移动
-v, --verbose 显示详细操作信息
-t, --target-directory=目录 将所有源文件移动到指定目录

常见用法 #

1. 重命名文件 #

mv oldname.txt newname.txt

2. 移动文件到另一个目录 #

mv file.txt /path/to/directory/

3. 移动多个文件到目录 #

mv file1.txt file2.txt file3.txt /path/to/directory/

4. 移动目录 #

mv source_directory/ destination_directory/

5. 交互式移动(覆盖前提示) #

mv -i file.txt destination.txt

输出示例(如果目标文件已存在):

mv: overwrite 'destination.txt'? y

6. 仅当源文件较新时才移动 #

mv -u source.txt destination.txt

7. 创建备份再移动 #

mv -b file.txt destination.txt

这将在覆盖destination.txt前创建一个名为destination.txt~的备份。

8. 显示移动过程 #

mv -v file.txt destination.txt

输出示例:

'file.txt' -> 'destination.txt'

9. 不覆盖现有文件 #

mv -n source.txt destination.txt

10. 使用通配符移动多个文件 #

mv *.txt /path/to/directory/

11. 指定目标目录 #

mv -t /path/to/directory/ file1.txt file2.txt file3.txt

这等同于:

mv file1.txt file2.txt file3.txt /path/to/directory/

12. 移动隐藏文件 #

mv .hidden_file /path/to/directory/

提示 #

  • 使用-i选项可以防止意外覆盖重要文件
  • 在许多系统上,mv命令默认不会提示确认覆盖,所以在移动重要文件时要小心
  • 移动文件到同一文件系统内的另一个位置通常很快,因为只需更改文件的路径信息
  • 移动文件到不同的文件系统需要复制文件内容并删除原文件,可能需要更长时间
  • 使用-v选项可以查看移动操作的详细信息,这在批量移动文件时很有用
  • 如果目标是一个目录,源文件将被移动到该目录中;如果目标不是目录,则源文件将被重命名
  • 移动目录时,如果目标目录已存在,源目录将被移动到目标目录内;如果目标目录不存在,源目录将被重命名
  • 在脚本中,通常使用-f选项忽略错误和提示
  • 使用-u选项可以实现简单的增量更新