欢迎来到即将发布的 MinIO 文档版本! 此页面上的内容正在积极开发中 可能随时更改。 如果找不到您要找的内容,请查看我们的 历史文档。 感谢您的耐心等待。 我们期待您贡献自己强大的力量,帮助更多的中国技术开发者![翻译]

mc rm

描述

mc rm 命令删除目标 S3 兼容服务上的对象。 要完全删除存储桶,请改用 mc rb

删除桶内容

使用 mc rm 删除存储桶中的所有内容不会删除存储桶本身。 与存储桶关联的任何配置都保留在原位, 例如 default object lock settings.

要完全删除存储桶,请使用 mc rb 而不是 mc rm

MinIO Trims Empty Prefixes on Object Removal

mc rm 依赖于 mc 用于删除对象的删除 API。 作为一部分 删除存储桶前缀中的最后一个对象, mc 也递归删除 前缀的每个空部分直到根源。 mc 只适用于 递归删除创建的前缀 implicitly 作为对象写入的一部分 操作 - 也就是说,前缀不是使用显式目录创建的 创建命令如 mc mb.

例如,考虑一个带有以下对象前缀的存储 “photos”:

  • photos/2021/january/myphoto.jpg

  • photos/2021/february/myotherphoto.jpg

  • photos/NYE21/NewYears.jpg

photos/NYE21 是个 only 使用显式创建的前缀 mc mb. 所有其他前缀都是 implicitly 作为编写对象的一部分创建位于该前缀。

如果 mc 命令删除 myphoto.jpg, 自动移除 API 修剪空的 /january 字首。 随后的一个 mc 命令删除 myotherphoto.jpg, 删除 API 会自动修剪 /february 字首 and 现在空的 /2021 字首。 如果 mc 命令删除 NewYears.jpg, the /NYE21 前缀仍然存在,因为它是 explicitly 创建。

如果使用 mc rm 用于文件系统上的操作, mc 同样适用 通过递归修剪空目录路径直到根目录的行为。 然而, 这 mc remove API 无法区分显式创建的 目录路径和隐式创建的路径。 如果 mc rm 删除最后一个 文件系统路径中的对象, mc 递归删除所有空目录 作为删除操作的一部分,在该路径中直到根。

例子

删除单个对象

mc rm ALIAS/PATH
  • ALIAS 替换为已配置的 S3 兼容服务的 alias

  • PATH 替换为对象的路径。

递归删除桶的内容

mc rm--recursive--force 选项以递归方式删除存储桶的内容。

mc rm --recursive --force ALIAS/PATH
  • ALIAS 替换为已配置的 S3 兼容服务的 alias

  • PATH 替换为存储桶的路径。

此操作 not 删除存储桶。 使用 mc rb 删除存储桶以及所有内容和相关配置。

删除对象的所有不完整的上传文件

使用 mc rm--不完整 选项来删除对象的不完整上传文件。

mc rm --recursive --force ALIAS/PATH
  • ALIAS 替换为已配置的 S3 兼容服务的 alias

  • PATH 替换为对象的路径。

删除不完整的上传文件可防止使用 mc mv --continuemc cp --continue 命令。

将对象返回到以前的版本

使用 mc rm--rewind 到 删除在指定时间点之后创建的所有对象版本。 这有效地将对象 “rolls back” 到当时的状态。

mc rm --rewind DURATION ALIAS/PATH
  • ALIAS 替换为已配置的 S3 兼容服务的 alias

  • PATH 替换为对象的路径。

  • DURATION 替换为过去的持续时间以应用命令。 例如,要将对象恢复到过去 30 天的状态,请指定 “30d”。

语法

mc rm 具有以下语法:

mc rm [FLAGS] TARGET [TARGET ...]

rm 支持以下论点:

TARGET

REQUIRED

要移除的对象的完整路径。 将配置的 S3 服务的 alias 指定为 --TARGET 路径的前缀。

例如:

mc rm play/mybucket/object.txt play/mybucket/otherobject.txt

如果指定存储桶或存储桶前缀的路径,您 must 还指定 --recursive--force 参数。 例如:

mc rm --recursive --force play/mybucket/

mc rm --recursive --force play/mybucket/myprefix
--recursive, --r

递归删除每个 --TARGET 桶或桶前缀的内容。

如果指定 --recursive,您 must 还指定 --force.

mc rm --version-id 互斥。

--force

允许使用以下任何参数运行 mc rm:

--dangerous

TARGET 指定 S3 兼容服务上的根(所有存储桶)时,允许运行 mc rm

--versions

指导 mc rm 对存储中存在的所有对象版本进行操作。

--versions 要求指定的 --TARGET 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。 ..

使用 --versions--rewind 一起删除在特定时间点存在的所有对象版本。

--rewind

指导 mc rm 仅对存在于的对象版本进行操作 指定的时间点。

  • 要倒回过去的特定日期,请将日期指定为 ISO8601 格式的时间戳。 例如: --rewind "2020.03.24T10:00".

  • 要倒回持续时间,请将持续时间指定为字符串 #d#hh#mm#ss 格式。 例如: --rewind "1d2hh3mm4ss".

--rewind 要求指定的 --TARGET 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。

--version-id, --vid

指导 mc rm 仅对指定的对象版本进行操作。

--version-id 要求指定的 --TARGET 成为 S3 兼容的服务 支持 Bucket Versioning. 对于 MinIO 部署,请使用 mc version 启用或禁用存储版本控制。

与以下任何标志互斥:

--older-than

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

默认为 0 (all objects).

--newer-than

删除比指定天数新的对象。 以``#d#hh#mm#ss`` 格式指定一个字符串。 例如: --newer-than 1d2hh3mm4ss

默认为 0 (all objects).

--incomplete, --I

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

如果任何 --TARGET 指定了一个桶, 你 must 还指定 --recursive--force

--fake

执行假删除操作。 使用此操作执行 验证 mc rm 操作只会删除所需的对象或存储桶。

--stdin

从 “STDIN” 读取对象名称或存储桶。

--encrypt-key

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

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

  • 对于 “VALUE”,指定要用于指定给 “KEY” 的存储桶或存储桶前缀中的加密对象的数据密钥。

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