如何在Linux中使用MV命令

时间:2020-03-05 15:29:01  来源:igfitidea点击:

mv命令是一个类似于cp命令的命令,但它不会创建文件/目录的复制/复制。

当我们想要将文件从一个地方移动到另一个位置时,我们不想复制它,我们使用mv命令。

在我们使用的任何类型的Linux系统上,默认安装此命令。
请查看在日常操作中使用MV命令的一些示例。

1)移动文件

移动文件的要求是文件源位置必须与文件目标位置不同。
这是一个例子。
将文件_1.txt从当前目录移动到另一个目录,例如/home/pungki/Office,这是语法:

$mv file_1.txt /home/pungki/office

正如我们可以看到的,当我们移动文件_1.txt时,删除了上一个目录的file_1.txt。

2)移动多个文件

如果我们想移动多个文件,我们将它们放在一个由空间分隔的一行中。

$mv file_2.txt file_3.txt file_4.txt /home/pungki/office

如果文件拥有它,我们也可以使用模式。
例如,要移动具有.txt扩展的所有文件,我们可以使用此命令:

$mv *.txt /home/pungki/office

3)移动目录

与副本命令不同,使用mv命令的移动目录非常简单。
要移动目录,我们只能在没有任何选项的情况下使用MV命令。
请在下面看看截图。

4)重命名文件或者目录

我们还使用mv命令重命名文件和目录。
但是为了这样做,目的地位置必须与源位置相同。
然后文件名必须不同。

假设我们在里面/home/pungki/documents文件夹,我们希望将file_1.txt重命名为file_2.txt。
然后命令将是如下:

$mv file_1.txt file_2.txt

如果我们提到绝对路径,那么它将如下所示:

$mv /home/pungki/Documents/file_1.txt /home/pungki/Documents/file_2.txt

5)重命名目录

上述规则也应用于目录。
看看这个例子:

$mv directory_1/directory_2/

6)打印发生的事情

当我们移动或者重命名大量文件/目录时,我们可能需要知道命令是否成功地工作,而不查看目的地位置。
为此,我们可以使用-v选项。
例如,我们想移动所有TXT文件并想要检查它。
然后命令将是这样的。

$mv -v *.txt /home/pungki/office

相同的方式应用于目录。

7)使用交互模式

当我们将文件移动到另一个位置时,已存在相同的文件,则默认情况下MV将覆盖它。
没有弹出的弹出通知。
要对覆盖文件进行通知,我们可以使用-i选项。

假设我们想将文件_1.txt移动到/home/pungki /办公室。
同时,file_1.txt已存在于/home/pungki/Office目录中。

$mv -i file_1.txt /home/pungki/office

此通知将为我们了解目标位置中的File_1.txt的存在。
如果我们按"Y",那么文件将被移动,否则,它将不会。

8)使用更新选项

虽然-i通知我们关于覆盖文件,但如果源较新的目标文件,则才能执行更新。
让我们看一下下面的示例。

我们有文件_1.txt和file_2.txt与此属性:

  • file_1.txt有84个字节文件大小,最后修改时间为12:00
  • file_2.txt有0个字节文件大小,最后修改时间是11:59

我们希望将它们移入/Home/Pungki/Office目录。
但在目的地位置,我们已经有file_1.txt和file_2.txt。

我们使用命令将文件_1.txt和file_2.txt移动到/home/pungki/Office:

$mv -uv *.txt /home/pungki/office

结果,我们看到这些文件被移动了。
移动该文件,因为它们的上次修改时间戳比/home/pungki/Office目录中的文件更新。

9)不要覆盖任何现有文件

如果-I选项询问我们关于覆盖文件,则-n选项不允许我们覆盖任何现有文件。

在第8点使用示例,如果我们将选项从-u到-n更改,请与-v选项组合,然后我们会看到没有文件移动到/home/pungki/Office目录中。

$mv -vn *.txt /home/pungki/office

10)复制时创建备份

默认情况下,如果之前已存在,则移动文件将覆盖目标文件。
但是,如果我们移动错误的文件,则会发生什么,目的文件已被新的文件覆盖?
有没有办法检索旧的?
就在这里。
我们可以使用-b选项。
-b选项将在其覆盖新的位置之前备份目标文件。
再次,我们将使用上面点8的场景。

$mv -bv *.txt /home/pungki/office

正如我们在屏幕截图上看到的,请在/home/pungki/Office目录上,我们有一个名为file_1.txt~和file_2.txt~的文件。
Tilde Sign(~)意味着这些文件是备份。
我们可以看到它们的属性比File_1.txt和file_2.txt更旧。