移动文件和目录是您经常在Linux系统上需要执行的最基本任务之一。在本教程中,我们将解释如何使用mv命令移动文件和目录。
如何使用mv命令
mv命令(move的简称)用于将文件和目录从一个位置重命名和移动到另一个位置。 mv命令的语法如下:
mv [OPTIONS] source destination
源可以是一个或多个文件或目录,目标可以是单个文件或目录。
如果指定多个文件或目录作为源,则目标必须是目录。 在这种情况下,源文件将移动到目标目录。
如果将单个文件指定为源,并且目标目标是现有目录,则将文件移动到指定目录。
如果您将单个文件指定为源,将单个文件指定为目标目标,那么您将重命名该文件。
如果源是目录而目标不是,则将源重命名为目标,否则它将被移动到目标目录中。
要移动文件或目录,您需要对源和目标都具有写入权限。 否则,您将收到权限被拒绝错误。
例如,要将文件linuxidc.com.txt从当前工作目录移动到/tmp目录,您需要运行:
mv linuxidc.com.txt /tmp
要重命名文件linuxidc.txt,请指定目标文件名(这里是linuxidc.com.txt):
mv linuxidc.txt linuxidc.com.txt
移动目录的命令与移动文件时的命令相同。 在以下示例中,如果dir2目录存在,该命令将把dir1移到dir2中。如果dir2不存在,dir1将被重命名为dir2:
mv dir1 dir2
移动多个文件和目录
要移动多个文件和目录,请指定要作为源移动的文件。 例如,要将文件linuxidc和linuxmi移动到linux目录,您可以键入:
mv linuxidc linuxmi linux
mv命令还允许您使用模式匹配。 例如,要将所有pdf文件从当前目录移动到〜/linuxidc.com目录,您需要使用:
mv *.pdf ~/linuxidc.com
mv命令选项
mv命令接受影响默认命令行为的选项。 在某些Linux发行版中,mv可能是mv命令的别名,带有一组自定义选项。 例如,在CentOS中,mv是mv -i的别名。 您可以使用type命令查找mv是否为别名:
type mv
如果mv是别名,输出将如下所示:
mv is aliased to `mv -i'
如果指定了冲突选项,则最后指定的选项优先。
覆盖前提示
默认情况下,如果目标文件存在,它将被覆盖。 要提示确认,请使用-i选项:
mv -i linuxidc.com.txt /tmp
提示
mv:是否覆盖"/tmp/linuxidc.com.txt"?
要覆盖文件类型,请输入字符y或Y.
强制覆盖
如果您尝试覆盖只读文件,mv命令将提示您是否要覆盖该文件:
mv -i linuxidc.com.txt /tmp
提示
mv:是否覆盖"/tmp/linuxidc.com.txt",而不理会权限模式0444 (r--r--r--)? Y
为避免被提示,请使用-f选项:
mv -f linuxidc.com.txt /tmp
当您需要覆盖多个只读模式的文件时,此选项特别有用。
不要覆盖现有文件
-n选项告诉mv永远不会覆盖任何现有文件:
mv -n linuxidc.com.txt /tmp
如果linuxidc.com.txt存在,上面的命令将不执行任何操作,否则它将文件移动到/tmp目录。
如下图:
备份文件
如果目标文件存在,则可以使用-b选项创建它的备份:
mv -b linuxidc.com.txt /tmp
备份文件将与原始文件具有相同的名称,并附加波形符(〜)。
使用ls命令验证是否已创建备份:
ls /tmp/linuxidc.com.txt*
/tmp/linuxidc.com.txt /tmp/linuxidc.com.txt~
详细输出
另一个有用的选项是-v。 使用此选项时,该命令将打印每个移动文件的名称:
[linuxidc@localhost ]$ mv -v linuxidc.com.txt /tmp
输出:
"linuxidc.com.txt" -> "/tmp/linuxidc.com.txt"
已删除"linuxidc.com.txt"
总结
到目前为止,您应该很好地理解如何使用mv命令来移动文件和目录。 受命令行威胁的新Linux用户可以使用GUI文件管理器移动文件。
有关mv命令的更多信息,请查看手册页。
如果您有任何问题或反馈,请随时发表评论。