mv 命令是 Linux 的内置命令之一,其主要功能是移动文件和目录。 但是,mv 命令的功能不仅限于移动文件; 它还执行各种其他任务。 在 Linux 中,mv 代表移动。
在本教程中,我们将学习如何使用 mv 命令在 Linux 中移动文件和目录。
如何使用 mv 命令
mv 命令用于将文件和目录从一个位置移动到另一个位置。 移动时 mv 命令删除原来的文件或目录。 但它将等待文件/目录完全移动以结束操作。 将文件移动到目的地时,如果目的地已经有一个同名的文件,那么它将被覆盖。
您也可以使用 mv 命令重命名文件和目录的名称。 如果两个文件名或目录都在同一个文件系统上,则会导致重命名。
如果目标目录包含与文件相同的目录,则 mv 不会将目录重命名为另一个目录。 由于这个原因,出现“目录非空”消息。
mv 命令的基本语法如下。
句法:
$ mv [Options] Source Destination
[Options]
指的是各种 mv 命令选项。 这 Source
可能是单个文件或目录,也可能是多个文件或目录。 在 Destination
, 可以指定单个文件或目录。
您必须对两者都具有写权限 Source
和 Destination
移动文件或目录,否则您将收到权限被拒绝错误。
- 当。。。的时候
Source
由许多文件或目录组成,Destination
必须是目录。 上的文件或目录Source
被移动到Destination
目录。
例如,如果我们需要移动 text1.txt
文件到 /dir1
目录,语法如下。
$ mv text1.txt /dir1
- 当。。。的时候
Source
由许多文件或目录组成,Destination
必须是目录。 上的文件或目录Source
被移动到Destination
目录。
- 当。。。的时候
Source
是单个文件,并且Destination
是一个目录,文件被移动到Destination
目录。
- 当 Source 是单个文件而 Destination 是文件名时,Source 文件将重命名为 Destination 文件名。
- Source 是一个目录,Destination 也是一个目录,但 Destination 目录不存在。 在这种情况下,源目录将重命名为目标目录。 如果 Destination 目录已存在,则 Source 目录将移动到该目录中。
如何移动多个文件或目录
要移动多个文件或目录,您必须首先指定 Source
文件名和 Destination
目录。
例如,要将 text1、text2 和 text3 文件移动到 dir1 目录,请使用以下语法。
$ mv text1 text2 text3 dir1
mv 命令还支持模式匹配。例如,您可以使用以下语法将所有文本文件移动到 ~/Documents 目录。
$ mv *.txt ~/Documents
如何重命名文件或目录
您可以使用 mv 命令重命名文件或目录。
例如,要将文件从 text1.txt 重命名为 text2.txt,请使用以下语法。
$ mv text1.txt text2.txt
例如,如果我们需要将 dir1 目录移动到 dir2 目录,则语法如下。 但是,如果 dir2 不存在,则 dir1 目录将重命名为 dir2。
$ mv dir1 dir2
mv 命令选项
mv 命令为特定目的提供各种选项。 一些有用的 mv 命令选项是:
覆盖前提示
如果 Destination
文件或目录已存在,默认覆盖。 这 -i
选项可用于显示确认提示。 以下语法用于在覆盖之前显示提示。
$ mv -i Source Destination
当文件 1 已存在于 dir1 时,尝试将文件 1 移动到 dir1 目录时,将出现提示:
mv: overwrite 'dir1/file1'?
如果你想覆盖类型 y
或者 Y
.
不覆盖现有文件
要永不覆盖现有文件,请将 -n 选项与 mv 命令一起使用,如以下语法所示。
$ mv -n Source Destination
尝试将 file1 移动到 dir1 目录时,如果 file1 已经存在,则该命令将不执行任何操作; 否则,文件将被移动到 dir1。
强制覆盖
以下语法可用于强制覆盖文件而不显示提示消息。
$ mv -f Source Destination
备份文件
要备份现有目标文件中的文件,请使用 -b 命令行选项。 以下语法可用于备份文件。
$ mv -b Source Destination
波浪号 (~) 将显示在与原始文件同名的备份文件中。
结论
在本教程中,我们学习了如何在 Linux 中使用 mv 命令。 有关更多信息,请参阅 男人MV.