📜  Linux 中的 mv 命令和示例

📅  最后修改于: 2022-05-13 01:57:33.500000             🧑  作者: Mango

Linux 中的 mv 命令和示例

mv代表移动。 mv 用于在 UNIX 等文件系统中将一个或多个文件或目录从一处移动到另一处。它有两个不同的功能:
(i)重命名文件或文件夹。
(ii)它将一组文件移动到不同的目录。
重命名期间不会消耗磁盘上的额外空间。此命令通常以静默方式运行,这意味着不提示确认。

句法:

mv [Option] source destination

让我们考虑 4 个名称为a.txt、b.txt等直到d.txt 的文件
将文件a.txt重命名为geek.txt(不存在)

$ ls
a.txt  b.txt  c.txt  d.txt

$ mv a.txt geek.txt

$ ls
b.txt  c.txt  d.txt  geek.txt

如果目标文件不存在,它将被创建。在上面的命令中, mv只是用目标文件名(新名称)替换目录中的源文件名。如果目标文件存在,那么它将被覆盖并删除源文件。默认情况下, mv不会提示覆盖现有文件,所以要小心!!

让我们试着用一个例子来理解,将geeks.txt移动到b.txt(exist)



$ ls
b.txt  c.txt  d.txt  geek.txt

$ cat geek.txt
India

$ cat b.txt
geeksforgeeks

$ mv geek.txt b.txt

$ ls
b.txt  c.txt  d.txt

$ cat b.txt
India

选项:
1. -i(交互式):与 cp 一样,-i 选项使命令在移动会覆盖现有文件的文件之前询问用户确认,您必须按y确认移动,任何其他键都会离开文件照原样。如果文件不存在,则此选项不起作用,它只是重命名它或将其移动到新位置。

$ ls
b.txt  c.txt  d.txt  geek.txt

$ cat geek.txt
India

$ cat b.txt
geeksforgeeks

$ mv -i geek.txt b.txt
mv: overwrite 'b.txt'? y

$ ls
b.txt  c.txt  d.txt

$ cat b.txt
India

2. -f (Force):如果文件被写保护, mv提示确认覆盖目标文件 -f选项会覆盖此次要保护并强制覆盖目标文件并删除源文件。

$ ls
b.txt  c.txt  d.txt  geek.txt

$ cat b.txt
geeksforgeeks

$ ls -l b.txt
-r--r--r--+ 1 User User 13 Jan  9 13:37 b.txt

$ mv geek.txt b.txt
mv: replace 'b.txt', overriding mode 0444 (r--r--r--)? n

$ ls
b.txt  c.txt  d.txt  geek.txt

$ mv -f geek.txt b.txt

$ ls
b.txt  c.txt  d.txt

$ cat b.txt
India

3. -n (no-clobber):使用-n选项, mv防止现有文件被覆盖。
在下面的示例中,效果是不会发生任何事情,因为文件将被覆盖。

$ ls
b.txt  c.txt  d.txt  geek.txt

$ cat b.txt
geeksforgeeks

$ mv -n geek.txt b.txt

$ ls
b.txt  c.txt  d.txt  geek.txt

$ cat b.txt
geeksforgeeks

4. -b(backup):使用此选项,可以更轻松地备份将被mv命令覆盖的现有文件。这将创建一个附加到它的波形字符(〜)的备份文件。

$ ls
b.txt  c.txt  d.txt  geek.txt

$ mv -b geek.txt b.txt

$ ls
b.txt  b.txt~  c.txt  d.txt

5. –version:此选项用于显示当前在您的系统上运行的mv版本。

$ mv --version
mv (GNU coreutils) 8.26
Packaged by Cygwin (8.26-2)
Copyright (C) 2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later .
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by Mike Parker, David MacKenzie, and Jim Meyering.