Contents

命令学习-mv

mv 命令用于对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。

语法

1
mv [选项] [参数]

主要用途

  • 将源文件或目录移动到目标文件或目录。
  • 重新命名文件或目录。

参数

  • 源文件:指定源文件或目录,可以是一个或多个文件。
  • 目标文件:目标文件或目录。
    • 如果目标是文件名,则会将源文件重命名为目标文件。
    • 如果目标是目录名,则源文件会被移动到目标目录下。

选项

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

实例

1. 将目录中的所有文件移到当前目录

1
mv /usr/men/* .

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

  1. 移动文件
1
mv file_1.txt /home/office/

将 file_1.txt 文件移动到 /home/office/ 目录。

  1. 移动多个文件
1
mv file_2.txt file_3.txt file_4.txt /home/office/

将 file_2.txt、file_3.txt 和 file_4.txt 移动到 /home/office/ 目录。

  1. 移动文件匹配模式的文件
1
mv *.txt /home/office/

将当前目录下所有 .txt 文件移动到 /home/office/ 目录。

  1. 移动目录
1
mv directory_1/ /home/office/

将 directory_1/ 目录移动到 /home/office/ 目录。

  1. 重命名文件或目录
1
mv file_1.txt file_2.txt

将文件 file_1.txt 重命名为 file_2.txt。

  1. 重命名目录
1
mv directory_1/ directory_2/

将目录 directory_1/ 重命名为 directory_2/。

  1. 打印移动信息
1
mv -v *.txt /home/office

在移动文件时打印详细信息。

  1. 提示是否覆盖文件
1
mv -i file_1.txt /home/office

在移动文件时,如果目标文件已存在,提示是否覆盖。

  1. 源文件比目标文件新时才执行更新
1
mv -uv *.txt /home/office

仅当源文件比目标文件更新时,才执行移动操作。

  1. 不要覆盖任何已存在的文件
1
mv -vn *.txt /home/office

不会覆盖目标目录中已存在的文件。

  1. 复制时创建备份
1
mv -bv *.txt /home/office

在移动文件时,创建备份。

  1. 无条件覆盖已经存在的文件
1
mv -f *.txt /home/office

强制移动文件,无论目标文件是否存在。

注意事项 mv 命令与 cp 命令的不同:mv 命令“搬家”文件,文件个数并未增加,而 cp 命令是复制文件,文件个数会增加。