跳转至

mc mv

语法

mc mv 命令将对象从源移动到目标,比如在 MOS 之间或在同一 MOS 的存储桶之间进行移动。mc mv 还支持在本地文件系统和 MOS 之间移动对象。

您还可以使用 mc mv 命令对本地文件系统进行操作,从而获得类似于 mv 命令行工具的效果。

语法

mc [GLOBALFLAGS] mv         \
[--attr "string"]           \
[--continue]                \
[--disable-multipart]       \
[--encrypt "string"]        \
[--encrypt-key "string"]    \
[--limit-download string]   \
[--limit-upload string]     \
[--newer-than "string"]     \
[--older-than "string"]     \
[--preserve]                \
[--recursive]               \
[--storage-class "string"]  \
SOURCE [SOURCE...]          \
TARGET

示例

以下命令将对象从 mydata 存储桶移动到 MOS存储上的 archive 存储桶:

mc mv --recursive mymos/mydata mymos/archive

参数

SOURCE

必选项 要移动的对象。

要从 MOS 存储桶移动对象,请指定别名和对象的完整路径(例如存储桶和对象路径)。例如:

mc mv play/mybucket/object.txt play/myotherbucket/object.txt

要从本地文件系统移动对象,请指定该对象的完整路径。例如:

mc mv ~/mydata/object.txt play/mybucket/object.txt
指定多个 SOURCE 路径以将多个对象移动到指定的 TARGET。mc rm 命令将最后一个指定的别名或文件系统路径视为目标。例如:
mc mv ~/mydata/object.txt play/mydata/otherobject.txt myminio/mydata
如果您指定要移动的是目录或存储桶,则还必须指定 --recursive 选项以递归地移动该目录的内容。如果省略 --recursive 参数,则 mv 命令仅移动指定目录或存储桶顶层中的对象。

TARGET

必选项 将指定 SOURCE 的对象移动到的存储桶的完整路径。将配置的 S3 服务的别名指定为 TARGET 路径的前缀。

要从 MOS 移动对象,请指定别名和对象的完整路径(例如存储桶和对象路径)。例如:

mc mv play/mybucket/object.txt play/myotherbucket/object.txt
要从本地文件系统移动对象,请指定该对象的完整路径。例如:
mc mv ~/mydata/object.txt play/mybucket/object.txt
目标对象名称可以与 SOURCE 不同,以在移动操作的一部分中“重命名”对象。

如果使用 --recursive 选项运行 mc mv,则 mc mv 命令将 TARGET 视为 SOURCE 中所有对象的存储桶前缀。

--attr

可选项 为对象添加自定义元数据。将键值对指定为 KEY=VALUE;。例如,--attr key1=value1;key2=value2;key3=value3。

--continue, c

可选项 创建或恢复移动会话。

--disable-multipart

可选项 禁用多部件上传功能。

多部件上传将对象分成一组单独的部分。每个部分单独上传且顺序任意。如果任何单独的部分上传失败,MOS 会重新尝试该部分,而不影响其他部分。上传完成后,部分组合以恢复原始对象。

MOS 建议对任何大于 100 MB 的对象使用多部件上传。有关多部件上传的更多信息,请参阅 Amazon S3 文档。

--encrypt

可选项 使用服务端管理的密钥对对象进行加密或解密。将键值对指定为 KEY=VALUE。

每个 KEY 表示一个存储桶或对象。

每个 VALUE 表示用于加密对象的数据密钥。

将传递给 --encrypt 的键值对列表整个用双引号 " 括起来。

--encrypt 可以使用 MC_ENCRYPT 环境变量作为替代方法,以检索加密键值对列表,而不是在命令行上指定它们。

--encrypt-key

可选项 使用客户端指定的密钥对对象进行加密或解密。将键值对指定为 KEY=VALUE。

每个 KEY 表示一个存储桶或对象。

每个 VALUE 表示用于加密对象的数据密钥。

将传递给 --encrypt-key 的键值对列表整个用双引号 " 括起来。

--encrypt-key 可以使用 MC_ENCRYPT_KEY 环境变量作为替代方法,以检索加密键值对列表,而不是在命令行上指定它们。

--limit-download

可选项 将客户端下载速率限制为不超过指定速率的 KiB/s、MiB/s 或 GiB/s。这仅影响运行 MOS 客户端的本地设备上的下载。有效的单位包括:

B 表示字节 K 表示千字节 M 表示兆字节 G 表示吉字节 T 表示太字节 Ki 表示基比字节 Mi 表示秘比字节 Gi 表示吉比字节 Ti 表示太比字节

例如,要将下载速率限制为不超过 1 GiB/s,请使用以下命令:

--limit-download 1G
如果未指定,MOS 将使用无限制的下载速率。

--limit-upload

可选项 将客户端上传速率限制为不超过指定速率的 KiB/s、MiB/s 或 GiB/s。这仅影响从运行 MOS 客户端的本地设备上的上传。有效的单位包括:

B 表示字节 K 表示千字节 M 表示兆字节 G 表示吉字节 T 表示太字节 Ki 表示基比字节 Mi 表示秘比字节 Gi 表示吉比字节 Ti 表示太比字节

例如,要将上传速率限制为不超过 1 GiB/s,请使用以下命令:

--limit-upload 1G
如果未指定,MOS 将使用无限制的上传速率。

--newer-than

可选项 删除比指定天数还要新的对象。指定 ##d#hh#mm#ss 格式的字符串。例如:--newer-than 1d2hh3mm4ss。

默认为 0(所有对象)。

--older-than

可选项 删除比指定时间限制还要旧的对象。指定 #d#hh#mm#ss 格式的字符串。例如:--older-than 1d2hh3mm4ss。

默认为 0(所有对象)。

--preserve, a

可选项 保留 SOURCE 目录、存储桶和对象的文件系统属性和存储桶策略规则,将它们移动到 TARGET 存储桶中。

--recursive, r

可选项 递归地将每个存储桶或目录 SOURCE 的内容移动到 TARGET 存储桶中。

--storage-class

可选项 为 TARGET 上的新对象设置存储类别。

有关 S3 存储类别的更多信息,请参阅 Amazon 文档。

示例

将文件从文件系统移动到 S3 兼容主机

mc mv [--recursive] FILEPATH ALIAS/PATH
- 将 FILEPATH 替换为要移动的文件的完整路径。如果指定目录的路径,请包括 --recursive 标志。mc mv在成功将文件移动到目标后会从源中删除它。 - 将 ALIAS 替换为已配置的 S3 兼容主机的别名。 - 将 PATH 替换为目标存储桶。

将文件从文件系统移动到具有自定义元数据的 S3 兼容主机

使用 mc mv 和 --attr 选项在文件上设置自定义属性。

mc mv --attr "ATTRIBUTES" FILEPATH ALIAS/PATH
- 将 FILEPATH 替换为要移动的文件的完整路径。mc mv 在成功将文件移动到目标后会从源中删除它。 - 将 ALIAS 替换为已配置的 S3 兼容主机的别名。 - 将 PATH 替换为目标存储桶。 - 将 ATTRIBUTES 替换为一个或多个逗号分隔的键值对 KEY=VALUE。每个键值对表示一个属性键和值。

在 S3 兼容服务之间移动存储桶

mc mv --recursive SRCALIAS/SRCPATH TGTALIAS/TGTPATH
- 将 SRCALIAS 替换为已配置的 S3 兼容主机的别名。 - 将 SRCPATH 替换为存储桶的路径。mc mv 在成功将存储桶及其内容移动到目标后会从源中删除它。 - 将 TGTALIAS 替换为已配置的 S3 兼容主机的别名。 - 将 TGTPATH 替换为存储桶的路径。

将文件移动到具有特定存储类别的 S3 兼容主机

使用 mc mv 和 --storage-class 选项在目标 S3 兼容主机上设置存储类别。

mc mv --storage-class CLASS FILEPATH ALIAS/PATH

  • 将 CLASS 替换为要与文件相关联的存储类别。
  • 将 FILEPATH 替换为要移动的文件的完整路径。mc mv 在成功将文件移动到目标后会从源中删除它。
  • 将 ALIAS 替换为已配置的 S3 兼容主机的别名。
  • 将 PATH 替换为目标存储桶。
  • 将 ATTRIBUTES 替换为一个或多个逗号分隔的键值对 KEY=VALUE。每个键值对表示一个属性键和值。
    mc mv –storage-class REDUCED_REDUNDANCY myobject.txt play/mybucket