手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

mv(1)

名称

mv - 移动文件

用法概要

/usr/bin/mv [-fi] source
 target_file
/usr/bin/mv [-fi] source
... target_dir
/usr/xpg4/bin/mv [-fi] 
source target_file
/usr/xpg4/bin/mv [-fi] 
source... target_dir

描述

在第一种用法概要形式中,mv 实用程序将 source 操作数指定的文件移到 target_file 指定的目标。sourcetarget_file 不能重名。如果 target_file 不存在,mv 将创建名为 target_file 的文件。如果 target_file 存在,则将覆盖其内容。使用第一种用法概要形式的前提是最终操作数没有指定现有的目录。

在第二种用法概要形式中,mvsource 操作数指定的每个文件移到 target_dir 操作数指定的现有目录中的目标文件。每个 source 的目标路径是目标目录、一个斜杠字符 (/) 以及 source 的最后一个路径名组成部分的串联。使用第二种形式的前提是最终操作数指定了现有目录。

如果 mv 确定 target_file 的模式禁止写入,则将列显该模式(请参见 chmod(2)),要求响应,并读取一行的标准输入。如果响应是肯定的,则发生 mv(如果允许);否则退出命令。请注意,如果 target 与 ACL 关联,则显示的模式不能完全代表访问权限。当 source 的父目录可写入,并且设置了粘滞位时,以下一个或多个条件必须成立:

  • 用户必须拥有文件

  • 用户必须拥有目录

  • 用户必须能够写入文件

  • 用户必须是特权用户

如果 source 是一个文件,target_file 是到有多个链接的另一个文件的一个链接,则其他文件将保留,并且 target_file 将成为新的文件。

如果 sourcetarget_file/target_dir 在不同的文件系统上,则 mv 将复制源并删除原始文件。到其他文件的任何硬链接将丢失。mv 会尝试将源文件特征复制到目标,其中包括所有者和组 ID、权限模式、修改和访问的次数、ACL 以及扩展属性(如果适用)。对于符号链接,mv 仅保留链接本身的所有者和组。

如果无法保留所有者和组 ID,mv 将清除目标中的 S_ISUIDS_ISGID 位。如果无法清除这些位,mv 会将诊断消息列显到标准错误,但退出代码不受影响。如果目标文件系统不支持扩展属性,mv 可能无法保留扩展属性。对于其他所有复制文件特征的失败尝试,/usr/xpg4/bin/mv 会将诊断消息列显到标准错误。退出代码不受影响。

要保留源文件特征,用户必须拥有相应的文件访问权限。其中包括成为超级用户,或者拥有与目标文件相同的所有者 ID。

选项

支持以下选项:

–f

mv 在移动文件时不提示,即使在要覆盖现有的 target 目标时也不提示。请注意,这是标准输出不是终端时的缺省行为。

–i

只要移动操作将覆盖现有目标,mv 就会提示确认。无论是否从终端输入,都会执行该操作。如果提示确认失败,这就相当于被用户否决。确定的响应表示应继续移动。其他任何响应都将阻止 mv 覆盖 target

/usr/bin/mv

同时指定 –f–i 选项不算错误。–f 选项优先于 –i 选项。

/usr/xpg4/bin/mv

同时指定 –f–i 选项不算错误。最后指定的选项决定 mv 的行为。

操作数

支持下列操作数:

source

要移动的文件或目录的路径名。

target_file

被移动的文件或目录的新路径名。

target_dir

要将输入文件移到其中的现有目录的路径名。

用法

有关 mv 遇到大于或等于 2 GB(231 字节)文件时行为的说明,请参见 largefile(5)

环境变量

有关影响 mv 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

肯定的回答使用为用户语言环境中 LC_MESSAGES 类别的 yesexpr 关键字定义的扩展正则表达式进行处理。LC_COLLATE 类别中指定的语言环境定义为 yesexpr 定义的表达式中使用的范围、等效类和多字符整理元素的行为。LC_CTYPE 中指定的语言环境确定文本数据字符字节序列解释的语言环境,以及为 yesexpr 定义的表达式中使用的字符类的行为。请参见 locale(5)

退出状态

将返回以下退出值:

0

已成功移动所有输入文件。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

/usr/bin/mv

属性类型
属性值
可用性
system/core-os
CSI
Enabled(已启用)
接口稳定性
Committed(已确定)

/usr/xpg4/bin/mv

属性类型
属性值
可用性
system/xopen/xcu4
CSI
Enabled(已启用)
接口稳定性
Standard(标准)

另请参见

cp(1)cpio(1)ln(1)rm(1)setfacl(1)chmod(2)attributes(5)environ(5)fsattr(5)largefile(5)standards(5)

附注

-- 允许用户显式标记任何命令行选项的末尾,从而使 mv 可以识别以 - 开头的文件名参数。作为 BSD 迁移的辅助功能,mv 接受将 - 作为 -- 的等效字符。将来的版本可能会取消这项迁移辅助功能。