跳转至

mc rm

概述

mc rm 命令从 MOS 的存储桶中删除对象。要完全删除一个存储桶,请使用 mc rb 命令。

您还可以针对本地文件系统使用 mc rm 命令,以产生类似于 rm 命令行工具的结果。

提示

mc rm 支持在单个命令中删除多个对象或文件。考虑使用 --dry-run 选项验证操作是否仅针对所需的对象/文件。

示例

以下命令从 mydata 存储桶中删除多个对象:

mc rm --recursive mymos/mydata

语法

mc [GLOBALFLAGS] rm  \
                 [--bypass]               \
                 [--dangerous]            \
                 [--dry-run]              \
                 [--force]*               \
                 [--incomplete]           \
                 [--newer-than "string"]  \
                 [--non-current]          \
                 [--older-than "string"]  \
                 [--recursive]            \
                 [--rewind "string"]      \
                 [--stdin]                \
                 [--version-id "string"]* \
                 [--versions]             \
                 ALIAS [ALIAS ...]

参数

ALIAS

必需 指定 MOS存储的别名以及要删除的对象的完整路径。例如:

mc rm play/mybucket/object.txt
您可以在同一个或不同的 MOS存储上指定多个对象。例如:
mc rm play/mybucket/object.txt play/mybucket/otherobject.txt
如果指定了存储桶或存储桶前缀的路径,则还必须指定 --recursive 和 --force 参数。例如:
mc rm --recursive --force play/mybucket/
mc rm --recursive --force play/mybucket/myprefix/

提示

首先考虑使用 --dry-run 标志运行命令,以验证递归删除操作的范围。

要从本地文件系统中删除文件,请指定该文件的完整路径:

mc rm ~/data/myoldobject.txt

--bypass

可选 允许删除由 GOVERNANCE 对象锁定保护的对象。

--dangerous

可选 允许在 ALIAS 指定根目录(所有存储桶)的情况下运行 mc rm

--versions 结合使用时,此标志指示 mc rm 永久性地删除 ALIAS 目标中的所有对象和版本。

提示

首先使用 --dry-run 标志运行命令,以验证站点范围删除操作的范围。

警告

使用 --dangerous 和 --versions 标志运行 mc rm 是不可逆操作。在执行之前,务必进行所有可能的尽职调查,确保该命令仅适用于所需的 ALIAS 目标。

--dry-run

可选 输出命令的结果,而不实际删除任何文件。使用此标志测试您的命令配置,以仅删除您希望删除的对象。

--encrypt-key

可选 用于执行客户端密钥服务器端加密(SSE-C)的加密密钥。将逗号分隔的键值对指定为 KEY=VALUE,....

对于 KEY,请指定 S3 兼容的服务别名和包括任何存储桶前缀的完整路径。使用正斜杠 将别名和存储桶路径分隔。例如,play/mybucket

对于 VALUE,请指定要用于加密存储桶或存储桶前缀中对象的数据密钥。

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

--force

可选 允许使用以下任何参数运行 mc rm: --recursive --versions --stdin

--incomplete, I

可选 删除指定对象的不完整上传。

如果任何 ALIAS 指定了存储桶,则还必须指定 --recursive--force

--newer-than

可选 删除创建时间晚于指定天数的对象。指定 #d#hh#mm#ss 格式的字符串。例如:--newer-than 1d2hh3mm4ss

默认为 0(所有对象)。

--non-current

可选 从指定的 ALIAS 中删除所有非当前对象版本。

此选项对未启用版本控制的存储桶没有影响。

--older-than

可选 删除创建时间早于指定时间限制的对象。指定以 #d#hh#mm#ss 格式的字符串。例如:--older-than 1d2hh3mm4ss。

默认为 0(所有对象)。

--recursive, r

可选 递归删除每个 ALIAS 存储桶或存储桶前缀的内容。

如果指定 --recursive,则还必须指定 --force

对于启用版本控制的存储桶,默认情况下,此选项会为每个已删除的对象生成删除标记。使用 --versions 标志递归删除存储桶中的所有对象和对象版本。

提示

首先考虑使用 --dry-run 标志运行命令,以验证递归删除操作的范围。

--stdin

可选 从标准输入读取要删除的对象的完整路径列表。每个路径应在单独的一行上。

例如,要删除名为 object1.txt 和 object2.txt 的两个对象,可以使用以下命令:

echo -e "play/mybucket/object1.txt\nplay/mybucket/object2.txt" | mc rm --stdin

--versions

可选 递归删除指定 ALIAS 存储桶中的所有对象和对象版本。

如果指定了存储桶或存储桶前缀的路径,则还必须指定 --recursive--force 参数。

提示

首先考虑使用 --dry-run 标志运行命令,以验证递归删除操作的范围。