mv 命令用于重命名文件或目录,或将其移到其他位置。与 cp 不同,移动成功后不会把原路径留在原处。
基本语法是:
mv [OPTIONS] SOURCE DESTINATION
命令行 · 第 11 课
学习重命名和移动文件或目录,并避免意外覆盖。
mv 命令用于重命名文件或目录,或将其移到其他位置。与 cp 不同,移动成功后不会把原路径留在原处。
基本语法是:
mv [OPTIONS] SOURCE DESTINATION
mv 最常见的用途之一是重命名。语法很简单:指定旧名称和新名称。
重命名文件:
$ mv oldfile newfile
同样的逻辑适用于重命名目录:
$ mv old_directory_name new_directory_name
哪个命令会把当前目录中的 cat 重命名为 dog?
mv 命令的另一个核心功能是将项目从一个位置移动到另一个位置。
将单个文件移动到不同目录:
$ mv file2 /home/pete/Documents
你也可以一次移动多个文件。只需列出所有源文件,后跟目标目录:
$ mv file_1 file_2 somedirectory/
在 GNU/Linux 系统上,一个有用的选项是 -t,它允许你先指定目标目录。当移动许多文件时,这样更清晰。
$ mv -t somedirectory/ file_1 file_2
与 cp 命令不同,移动目录不需要递归选项。mv 默认支持目录。
哪个命令会把 file_1 和 file_2 都移动到现有的 archive/ 目录?
默认情况下,如果你将文件移动到一个已存在同名文件的目标位置,mv 会直接覆盖而不提示。为了防止意外数据丢失,你可以使用以下选项:
-i(交互式):这是一个重要的安全功能。它会在覆盖任何已有文件前提示你确认。
$ mv -i source_file destination_directory
-n(不覆盖):不覆盖现有目标。
$ mv -n source_file destination_directory
-b(备份):在 GNU/Linux 上,为本来会被替换的目标创建备份。默认备份后缀通常是波浪号(~)。
$ mv -b file1 directory_with_file1
-v(详细):此选项使 mv 命令打印出正在执行的操作,显示每个被移动或重命名的文件。
$ mv -v file1 file2 somedirectory/
哪个命令只会在不覆盖现有目标的情况下把 draft.txt 移入 finished/?
移动目录不需要 -r:
$ mv project /home/pete/Documents/
shell 通配符可以选择多个源:
$ ls *.txt
$ mv *.txt notes/
用 ls 预览匹配项,可以在修改多个路径前发现过于宽泛的模式。
哪个命令会把 project/ 目录移动到 /srv/archive/?
你准备运行 mv *.txt notes/。哪个命令会预览相同通配符选中的路径?
要练习移动和重命名条目,可以尝试以下动手实验:
mv 命令移动和重命名文件及目录,理解其各种选项和行为。mv(以及 cp 和 rm)知识,整理项目结构,移动文件并清理目录。课程已完成
现在,你可以重命名和移动文件或目录,同时保护现有目标。
把源放在新的目标路径之前。
把目标目录放在多个源之后。
替换目标前选择询问、跳过或备份。
无需递归选项即可移动目录。
批量移动前预览通配符匹配项。