rm命令用于删除存储空间(Bucket)、对象(Object)或碎片(Part)。

说明 本文命令均以Linux系统为例,实际使用时,请将命令名称改为您实际可执行程序文件的名称。例如Windows 32位系统的帮助命令为ossutil32.exe help

命令格式

./ossutil rm oss://bucket[/prefix] [-r] [-b] [-f][-c file] [--include include-pattern] [--payer requester] [--exclude exclude-pattern]

使用示例

  • 删除空Bucket
    ./ossutil rm oss://bucket1 -b
    注意
    • 删除Bucket必须设置-b选项。
    • 被删除的Bucket可能被其他用户重新创建,您不再拥有该Bucket。
  • 清除Bucket数据并删除Bucket
    如果Bucket中有Object或Multipart等数据,需要先删除所有数据再删除Bucket。命令如下:
    ./ossutil rm oss://bucket1 -bar
    警告 该命令将清除Bucket中所有数据,属于危险操作,请谨慎使用。
  • 删除单个Object
    ./ossutil rm oss://bucket1/path/object
  • 删除指定前缀的所有Object
    配合-r选项,可以递归执行删除操作,删除指定前缀的所有Object。
    ./ossutil rm oss://bucket1/path/ -r
  • 批量删除符合条件的文件
    您可以使用--include/--exclude参数,批量删除符合条件的Object。--include/--exclude参数详情请参见过滤选项
    • 删除所有文件格式不为jpg的Object
      ./ossutil rm oss://my-bucket/path  --exclude "*.jpg" -r
    • 删除所有文件名包含abc且不是jpgtxt格式的Object
      ./ossutil rm oss://my-bucket1/path  --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
  • 删除指定的Object下未完成的Multipart上传任务的ID
    使用加-m选项的rm命令来删除指定未完成的Multipart上传任务的ID。
    ./ossutil rm -m oss://bucket1/obj1/test.txt
    Succeed: Total 1 uploadIds. Removed 1 uploadIds. 
    0.900715(s) elapsed
  • 删除对应前缀的所有未完成的Multipart上传任务的ID
    使用加-m-r选项的rm命令来删除对应前缀的所有未完成的Multipart上传任务的ID。
    ./ossutil rm -m oss://bucket1/ob -r 
    Do you really mean to remove recursively multipart uploadIds of oss:bucket1/ob(y or N)? y 
    Succeed: Total 4 uploadIds. Removed 4 uploadIds. 
    1.922915(s) elapsed
  • 删除对应前缀的所有已上传完成的Object和未完成的Multipart上传任务的ID
    使用加-a-r选项的rm命令来删除对应前缀的所有已上传完成的Object和未完成的Multipart上传任务的ID。
    ./ossutil rm  oss://hello-hangzws-1/obj -a -r
    Do you really mean to remove recursively objects and multipart uploadIds of oss://obj(y or N)? y
    Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds.
  • 删除已开启版本控制的Bucket内指定Object的指定版本
    ./ossutil.exe rm oss://bucket1/test.jpg --version-id  CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk
    在使用--version-id选项前,需使用ls --all-versions命令获取Object的versionid。
    说明 --version-id选项仅支持在已开启版本控制的Bucket内使用。开启Bucket版本控制命令请参见bucket-versioning
  • 删除已开启版本控制的Bucket内指定Object的所有版本
    ./ossutil.exe rm oss://bucket1/test.jpg --all-versions
    Succeed: Total 2 objects. Removed 2 objects.
  • 删除已开启版本控制的Bucket内所有Object的所有版本
    ./ossutil.exe rm oss://bucket1/ --all-versions -r

常用选项

使用rm命令加不同的选项可以指定删除不同的内容,常用选项如下:
参数名称 描述
-r,--recursive 递归进行操作。当指定该选项时,命令会对Bucket下所有符合条件的Object进行操作,否则只对指定的单个Object进行操作。
-b,--bucket 对Bucket进行操作,该选项用于确认操作作用于Bucket。
-m,--multipart 指定操作的对象为Bucket中未完成的Multipart事件,而非默认情况下的Object。
-a,--all-type 指定操作的对象为Bucket中的Object和未完成的Multipart事件。
-f,--force 强制操作,不进行询问提示。
--encoding-type 输入或者输出的Object名的编码方式,目前只支持url编码,即指定该选项时,取值为url。如果不指定该选项,则表示Object名未经过编码。Bucket名不支持url编码。
--retry-times= 当错误发生时的重试次数,默认值:10,取值范围:1-500。
--loglevel 设置日志级别,默认为空,表示不输出日志文件。可选值为:
  • info:输出提示信息日志。
  • debug:输出详细信息日志(包括http请求和响应信息)。
--include 包含对象匹配模式,如:*.jpg。
--exclude 不包含对象匹配模式,如:*.txt。
--version-id 删除拥有指定Object的指定版本,仅支持在已开启版本控制的Bucket内使用。
--all-versions 删除指定Object的所有版本。只有当Bucket开启版本控制的时候才可以附加此选项。
--payer 请求的支付方式,如果为请求者付费模式,需将该值设置为requester。
--proxy-host 网络代理服务器的url地址,支持http、https、socks5。例如http://120.79.**.**:3128、 socks5://120.79.**.**:1080。
--proxy-user 网络代理服务器的用户名,默认为空。
--proxy-pwd 网络代理服务器的密码,默认为空。
说明 更多通用选项请参见查看选项