移动文件和目录是您在 Linux 系统上常常须要执行的最基本的任务之一。命令行
mv
命令(简称 move)用于将文件和目录从一个位置重命名并移动到另外一个位置。 命令的语法以下:code
mv [OPTIONS] SOURCE DESTINATION
Source 能够是一个或多个文件或目录
,DESTINATION 只能是是单个文件或目录
。it
多个文件
或目录做为SOURCE, the 、DESTINATION必须是一个目录
。因此文件被移动到目标目录重命名文件
.内部DESTINATION目录
Note: 要移动文件或目录,您须要对 SOURCE 和 DESTINATION 都具备写权限。 不然,您将收到一个被拒绝的权限错误。class
例如,要将文件 file1从当前工做目录文件夹移动到 / tmp 目录,您能够运行:pdf
mv file1 /tmp
要重命名一个文件,你须要指定目标文件名:sed
mv file1 file2
移动目录的语法与移动文件时相同。 在下面的示例中,若是 dir2目录存在,则该命令将 dir1移动到 dir2中。 若是 dir2不存在,dir1将被重命名为 dir2:file
mv dir1 dir2
若要移动多个文件和目录,请指定要移动的文件做为源文件。 例如,要将 file1和 file2文件移动到 dir1目录,您能够输入:终端
mv file1 file2 dir1
命令也容许你使用模式匹配。 例如,要将全部 pdf 文件从工做目录目录移动到 ~ / Documents 目录,你可使用:权限
mv *.pdf ~/Documents
mv
命令接受几个影响默认命令行为的选项。语法
在某些 Linux 发行版中,mv 多是 mv 命令的别名,并带有一组自定义选项。 例如,在 CentOS 中,mv 是 mv-i 的别名。 您可使用 type 命令查看 mv 是不是别名:
type mv
若是 mv 是别名,输出结果以下:
mv is aliased to `mv -i'
若是给出了冲突的选项,则最后一个选项优先。
默认状况下,若是目标文件存在,它将被覆盖。要提示确认,使用-i 选项:
mv -i file1 /tmp
返回结果就是
mv: overwrite '/tmp/file1'?
覆盖文件类型 y 或 Y。
若是您尝试覆盖只读文件,mv 命令将提示您是否要覆盖该文件:
mv -i file1 /tmp mv: replace '/tmp/file1', overriding mode 0400 (r--------)?
为了不被提示,请使用-f 选项:
mv -f file1 /tmp
当您须要覆盖多个只读文件时,此选项特别有用。
n 选项告诉 mv 永远不要覆盖任何现有文件:
mv -f file1 /tmp
若是文件1存在,上面的命令将不执行任何操做,不然它将把文件移动到 / tmp 目录。
若是目标文件存在,您可使用-b 选项建立它的备份:
mv -b file1 /tmp
备份文件将具备与原始文件相同的名称,并附加一个波浪号(~)。
使用 ls 命令验证备份是否已建立:
/tmp/file1 /tmp/file1~
另外一个可能有用的选项是-v。 当使用此选项时,命令输出每一个移动文件的名称:
mv -i file1 /tmp renamed 'file1' -> '/tmp/file1'
mv
命令用于移动和重命名文件和目录。
有关 mv 命令的详细信息,请查看手册页或在终端中键入 man mv
。
被命令行吓到的新 Linux 用户可使用 GUI 文件管理器来移动他们的文件。