mc rm
语法
Themc rm命令移除对象从 MinIO 部署中的存储桶中。
要完全删除存储桶,请使用mc rb相反。
你也可以使用mc rm针对本地文件系统产生类似
结果rm命令行工具。
有关 MinIO 性能表现的更多信息DELETE关于对象的操作,请参阅对象删除.
以下命令可从mydata桶上的myminioMinIO 部署:
mc rm --recursive myminio/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 ...]
Brackets
[]表示可选参数。共享同一行的参数是相互依赖的。
使用竖线分隔的参数
|操作符是互斥的。
将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。
mc rm --force被多个参数所需。mc rm --version-id与多个参数互斥。有关更多信息,请参阅参考文档。
参数
- ALIAS
- 必需
The别名MinIO 部署的完整路径以及要删除的对象的完整路径。例如:
mc rm play/mybucket/object.txt
您可以在同一个或不同的 MinIO 部署上指定多个对象。 例如:
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
- --绕过
- 可选
允许移除持有的对象治理对象锁定。
- --危险
- 可选
允许运行
mc rm当ALIAS指定 MinIO 部署中的根目录(所有存储桶)。当与
--versions这个标志 指示mc rm永久删除所有对象和来自ALIAStarget.考虑首先使用
--dry-run验证站点范围删除操作的范围。警告
跑步
mc rm --dangerous随着--versionsflag 是不可逆的。请尽一切可能的努力确保该命令仅适用于预期的ALIAS执行前的目标。
- --force
- 可选
允许运行
mc rm使用以下任意参数:
- --不完整, I
- 可选
删除指定对象的不完整上传。
如果有任何
ALIAS指定一个存储桶,必须也请指定--recursive和--force.
- --recursive, r
- 可选
递归删除每个目录的内容
ALIAS存储桶或存储桶前缀。如果指定
--recursive你好必须另外 指定--force.对于具有版本控制enabled, 此选项默认会为每个移除的对象生成一个删除标记。 Include the
--versions递归删除所有对象的标志和从存储桶中删除对象版本。考虑首先使用
--dry-run用于验证递归删除操作范围的标志。与以下内容互斥
mc rm --version-id
- --rewind
- 可选
Directs
mc rm仅对指定时间点存在的对象版本进行操作。要回滚到过去的特定日期,请将日期指定为 ISO8601格式的时间戳。例如:
--rewind "2020.03.24T10:00".要倒回一段时间,请将持续时间指定为字符串,格式为
#d#hh#mm#ss格式。例如:--rewind "1d2hh3mm4ss".
--rewind要求指定的ALIAS成为兼容 S3 的服务 并支持Bucket Versioning对于 MinIO 部署,请使用mc version启用或禁用存储桶版本控制。
- --versions
- 可选
Directs
mc rm对存储桶中存在的所有对象版本执行操作。--versions要求指定的ALIAS成为兼容 S3 的服务 并支持Bucket Versioning对于 MinIO 部署,请使用mc version启用或禁用存储桶版本控制。使用
--versions和--rewind共同移除在特定时间点存在的所有对象版本。
- --version-id, vid
- 可选
Directs
mc rm仅对指定的对象版本进行操作。--version-id要求指定的ALIAS成为兼容 S3 的服务 并支持Bucket Versioning对于 MinIO 部署,请使用mc version启用或禁用存储桶版本控制。与以下任何标志互斥:
全局标志
此命令支持任何全局标志.
示例
删除单个对象
mc rm ALIAS/PATH
递归删除存储桶的内容
使用mc rm随着--recursive和--force选项
用于递归删除存储桶的内容。
mc rm --recursive --force ALIAS/PATH
此操作不会不删除存储桶。使用mc rb删除存储桶及其所有内容和相关配置。
删除对象的所有不完整上传文件
使用mc rm随着--incomplete删除对象不完整上传文件的选项。
mc rm --incomplete --recursive --force ALIAS/PATH
回滚对象到先前版本
使用mc rmwith--versions和--newer-than删除所有比指定时间更新的对象版本。这实际上是将对象"回滚"到该时间点的状态。
重要
删除对象的特定版本是一个破坏性的操作。您无法 恢复已删除的对象版本。
mc rm ALIAS/PATH --versions --newer-than DURATION
行为
删除存储桶内容
使用mc rm要删除存储桶中的所有内容并不会删除存储桶本身。与存储桶相关的任何配置都会保留,例如default object lock settings.
MinIO 在删除对象时修剪空前缀
mc rm依赖于mc用于删除对象的移除 API。作为删除存储桶前缀中最后一个对象的一部分,mc同时还会递归删除前缀的每个空部分,直到存储桶根目录。mc仅对
已创建的前缀应用递归删除隐式地作为对象写入操作的一部分 - 也就是说,此前缀不是通过显式目录创建命令(如mc mb.
例如,考虑一个存储桶photos使用以下对象前缀:
photos/2021/january/myphoto.jpgphotos/2021/february/myotherphoto.jpgphotos/NYE21/NewYears.jpg
photos/NYE21是仅使用显式创建的前缀mc mb所有其他前缀都是隐式地作为写入该前缀处对象的一部分创建。
如果mc命令移除myphoto.jpg, the removal API automatically
trims the empty/januaryprefix. 如果后续mc命令移除myotherphoto.jpg移除 API 会自动对/februaryprefix和现在空着的/2021prefix. 如果某个mc命令移除NewYears.jpg, the/NYE21前缀保持不变,因为它已经就位明确地已创建。
如果使用mc rm对于文件系统的操作,mc应用了相同的行为,通过递归修剪空目录路径直到根目录。然而,mcremove API 无法区分显式创建的目录路径和隐式创建的目录路径。如果mc rm删除文件系统路径中的最后一个对象,mc递归删除该路径下所有空目录,直至根目录,作为删除操作的一部分。
版本化存储桶中的删除操作
MinIO支持保留多个版本单个存储桶中对象的删除版本化存储桶中的对象会产生特殊的DeleteMarker墓碑
用于将对象标记为已删除,同时保留该对象的所有先前版本。
要从存储桶中删除特定对象版本,请使用
mc rm --version-id要从存储桶中删除对象的所有版本,请使用
mc rm --versions要从存储桶中删除对象的所有非当前版本,请使用
mc rm --non-current
在版本 mc 中更改:RELEASE.2023-03-20T17-17-53Z
输出显示版本控制文件的修改时间。
当与--dry-run这可以帮助确认您选择了正确的对象进行删除。
S3 Compatibility
Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。
MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。