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
mc rm play/mybucket/object.txt play/mybucket/otherobject.txt
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
标志运行命令,以验证递归删除操作的范围。