移动文件和目录是您在Linux系统上经常需要执行的最基本的任务之一。也是作为一个Linux用户必须会使用的命令。它是你成为Linux系统管理员一个重要命令。

mv是move简写用于将文件和目录从一个位置移动到另一个位置或者重命名。mv命令的基本语法是mv [OPTIONS] source destination

source源可以是一个或多个文件或目录,destination目标可以是单个文件或目录。

如果您将多个文件或目录指定为源,则目标必须是一个目录。在这种情况下,源文件将移动到目标目录中。

如果将单个文件指定为源,并且目标是目录,则该文件将移动到目标目录中。

如果您将一个文件指定为源,并将一个文件指定为目标,那么您将重命名该文件

移动文件

要移动文件,你需要对源文件有读取的权限,对目标有写入权限。否则,您将收到一个权限被拒绝Permission denied的错误。

mv命令还允许您使用模式匹配进行文件移动的操作。例如命令mv file1 /tmp将文件file1当前工作目录移动/tmp要运行的目录。

mv file1 file2将会重命名文件。命令mv dir1 dir2将移动目录dir1到目录dir2中。如果dir2不存在,dir1将被重命名为dir2

mv file1 file2 dir1命令将会移动多个文件和目录到指定的目录中。移动文件file1file2dir1目录。

mv *.pdf ~/Documents这是一个使用通配符的示例,该将所有pdf文件从当前目录移动到~/Documents目录。

mv file1 /tmp #移动到指定目录
mv file1 file2 #重命名文件
mv dir1 dir2 #移动目录dir1到dir2
mv file1 file2 dir1 #移动多个文件到目标目录
mv *.pdf ~/Documents 

mv命令选项

mv命令接受影响默认行为的选项。在某些Linux发行版中,mv命令可能是带有自定义选项别名

例如,在CentOS中,mv命令是的mv -i的别名。您可以使用运行type命令查找mv是否为别名。

如果mv命令是别名,你将会看到mv是别名的输出mv is aliased to `mv -i'。如果指定冲突的选项,则以最后的选项优先。

type mv
mv is aliased to `mv -i'

默认情况下,如果目标文件存在,它将被覆盖目标文件。如果你需确认提示,请使用-i选项。很大程度可以避免你覆盖文件,这也是CentOS使用mv -i作为别名的原因。

例如命令mv -i file1 /tmp将会提示mv: overwrite '/tmp/file1'?是否要覆盖文件,覆盖输入y,不覆盖输入n

如果不需要提示,请使用-f选项,当您需要覆盖多个文件时,此选项特别有用。

如果目标文件存在,则可以使用mv的-b选项创建该文件的备份,备份文件的名称与原始文件的名称相同,并附加一个波浪号~

另一个有用的选项是-v。使用此选项时,mv命令将打印每个移动文件的名称。

结论

至此,您应该知道如何使用mv命令移动文件和目录有了很好的了解。Linux新用户可以使用GUI文件管理器移动文件。

有关mv命令的更多信息,请参见手册页。如果您有任何问题或反馈,请随时发表评论。