すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:rm

最終更新日:Mar 28, 2026

このトピックでは、不要になったオブジェクト、パート、またはバケットを削除して、不要な課金を回避するために rm コマンドを実行する方法について説明します。

注意事項

  • 単一のオブジェクトを削除するには、oss:DeleteObject 権限が必要です。ディレクトリ内のすべてのオブジェクトを削除するには、oss:DeleteObject 権限および oss:ListObjects 権限が必要です。特定のオブジェクトバージョンを削除するには、oss:DeleteObjectVersion 権限が必要です。バケット内のすべてのオブジェクトバージョンを削除するには、oss:ListObjectVersions 権限および oss:DeleteObjectVersion 権限が必要です。ディレクトリ内のすべてのオブジェクトバージョンを削除するには、oss:DeleteObjectVersion 権限および oss:ListObjects 権限が必要です。オブジェクトのパートを削除するには、oss:ListMultipartUploads 権限および oss:AbortMultipartUpload 権限が必要です。バケット内のすべてのオブジェクトおよびパートを削除するには、oss:ListMultipartUploadsoss:AbortMultipartUploadoss:ListObjects、および oss:DeleteObject の各権限が必要です。バケットを削除するには、oss:DeleteBucket 権限が必要です。

  • ossutil バージョン 1.6.16 以降では、コマンドラインでバイナリ名として直接 ossutil を使用できます。オペレーティングシステムに応じてバイナリ名を更新する必要はありません。ossutil バージョン 1.6.16 より前の場合は、オペレーティングシステムに応じてバイナリ名を更新する必要があります。詳細については、「ossutil コマンド リファレンス」をご参照ください。

コマンド構文

ossutil rm oss://bucketname[/prefix]
[-r, --recursive]
[-b, --bucket]
[-m, --multipart]
[-a, --all-type]
[-f, --force]
[--include <value>]
[--exclude <value>]
[--version-id <value>] 
[--all-versions]
[--payer <value>]
[--encoding-type <value>]

以下の表に、構文内のパラメーターおよびオプションについて説明します。

パラメーター/オプション

説明

bucketname

バケットの名称です。

prefix

リソース(例:ディレクトリやオブジェクト)の名称におけるプレフィックスです。

-r, --recursive

このオプションを指定すると、ossutil はバケット内において指定されたプレフィックスを含む名称を持つすべてのオブジェクトを削除します。このオプションを指定しない場合、ossutil は指定されたオブジェクトのみを削除します。

-b, --bucket

このコマンドがバケットを削除することを指定します。バケットを削除する場合にのみ、このオプションを指定する必要があります。

-m, --multipart

この操作を、バケット内の未完了のマルチパートアップロードタスクに対して実行することを指定します。

-a, --all-type

この操作を、指定されたプレフィックスを含む名称を持つオブジェクトおよびバケット内の未完了のマルチパートアップロードタスクによって生成されたデータに対して実行することを指定します。

-f, --force

確認を省略して操作を強制的に実行します。

--include

指定された条件を満たすすべてのオブジェクトを対象に含めます。

詳細については、「--include および --exclude オプション」をご参照ください。

--exclude

指定された条件を満たすすべてのオブジェクトを対象から除外します。

詳細については、「--include および --exclude オプション」をご参照ください。

--version-id

オブジェクトのバージョン ID です。このパラメーターは、バージョン管理が有効化されているか、または一時停止されているバケットにのみ適用されます。

--all-versions

オブジェクトのすべてのバージョンを指定します。このオプションは、バージョン管理が有効化または一時停止されているバケット内のオブジェクトにのみ適用されます。--version-id および --all-versions のいずれか一方のみを、単一の rm コマンドで指定できます。

--payer

この操作によって発生する料金の支払者です。指定されたパス内のリソースにアクセスするリクエスターが、トラフィック料金およびリクエスト料金などのこの操作による料金を負担するようにするには、このパラメーターを requester に設定します。

--encoding-type

oss://bucket_name の後に続くプレフィックスのエンコーディング方式です。有効な値は url です。このオプションを指定しない場合、プレフィックスはエンコードされません。

オブジェクトの削除

警告

オブジェクトを削除すると、復元できません。操作には十分ご注意ください。

rm コマンドを -r オプション付きまたは無しで使用して 1 つ以上のオブジェクトを削除すると、ListObjects (GetBucket) および DeleteObject の各 API オペレーションが呼び出されます。この場合、PUT リクエスト送信に対して課金されます。詳細については、「API オペレーション呼び出し料金」をご参照ください。

警告
  • rm コマンドで --include および --exclude オプションを併用してオブジェクトを削除する場合、条件設定の不備により誤ってオブジェクトが削除される可能性があります。rm コマンドで両方のオプションを併用する場合は、十分にご注意ください。

  • --include オプションおよび --exclude オプションには、複数の条件を指定できます。すべての条件は左から順に適用されてオブジェクトと照合されます。複数の条件を指定する場合は、--include オプションを --exclude オプションより先に指定することを推奨します。

    • 単一のオブジェクトの削除

      バケット名が examplebucket のバケットから、オブジェクト名が exampleobject.txt のオブジェクトを削除します。

      ossutil rm oss://examplebucket/exampleobject.txt
    • バケット名が examplebucket のバケットから、名称に「test」プレフィックスを含むすべてのオブジェクトを削除します。

      ossutil rm oss://examplebucket/test -r
    • バケット名が examplebucket のバケットから、名称に「.png」サフィックスを含むすべてのオブジェクトを削除します。

      ossutil rm oss://examplebucket  --include "*.png" -r
    • バケット名が examplebucket のバケットから、名称に文字列「abc」を含み、かつ「.jpg」または「.txt」サフィックスを含まないオブジェクトを削除します。

      ossutil rm oss://examplebucket  --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
    • バージョン管理が有効化されたバケット examplebucket から、オブジェクト名が exampleobject.txt の特定のバージョンを削除します。

      ossutil rm oss://examplebucket/exampleobject.txt --version-id  CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****

      オブジェクトのすべてのバージョンを取得する方法については、「ls」をご参照ください。

    • バージョン管理が有効化されたバケット examplebucket から、オブジェクト名が exampleobject.txt のすべてのバージョンを削除します。

      ossutil rm oss://examplebucket/exampleobject.txt --all-versions
    • バージョン管理が有効化されたバケット examplebucket から、すべてのオブジェクトのすべてのバージョンを削除します。

      ossutil rm oss://examplebucket --all-versions -r
  • 実行結果の例

    成功時の応答には、削除されたオブジェクト数および削除操作の完了に要した時間が含まれます。

    Succeed: Total 8 objects. Removed 8 objects.
    0.106852(s) elapsed

パートの削除

rm コマンドを複数のオプション付きで使用してパートを削除すると、ListMultipartUploadsListParts、および AbortMultipartUpload の各 API オペレーションが呼び出されます。この場合、ListMultipartUploads および ListParts の呼び出し時に GET リクエスト送信に対して、また AbortMultipartUpload の呼び出し時に PUT リクエスト送信に対してそれぞれ課金されます。詳細については、「API オペレーション呼び出し料金」をご参照ください。

    • バケット名が examplebucket のバケットから、オブジェクト名が exampleobject.txt の未完了のマルチパートアップロードタスクによって生成されたパートを削除するために、コマンドに -m オプションを指定します。

      ossutil rm -m oss://examplebucket/exampleobject.txt
    • バケット名が examplebucket のバケットから、名称に「test」プレフィックスを含むオブジェクトの未完了のマルチパートアップロードタスクによって生成されたパートを再帰的に削除するために、コマンドに -m オプションおよび -r オプションを指定します。

      ossutil rm -m oss://examplebucket/test -r 
      Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? y 
    • バケット名が examplebucket のバケットから、名称に「src」プレフィックスを含むオブジェクトおよびそれらのオブジェクトの未完了のマルチパートアップロードタスクによって生成されたパートを再帰的に削除するために、コマンドに -a オプションおよび -r オプションを指定します。

      ossutil rm  oss://examplebucket/src -a -r
      Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket/src(y or N)? y
  • 応答の例

    成功時の応答には、削除されたオブジェクト数、削除されたパートを生成したマルチパートアップロードタスク数、および削除操作の完了に要した時間が含まれます。

    Succeed: Total 1 objects, 3 uploadIds. Removed 1 objects, 3 uploadIds.
    1.922915(s) elapsed

バケットの削除

  • オブジェクトおよびパートを含まない examplebucket バケットを削除します。

    ossutil rm oss://examplebucket -b
    Do you really mean to remove the Bucket: examplebucket(y or N)? y

    成功時の応答には、削除されたバケット名およびバケット削除に要した時間が含まれます。

    Removed Bucket: examplebucket
    2.230745(s) elapsed
  • examplebucket という名前のバケットおよびそのバケット内のすべてのオブジェクトおよびパートを削除します。

    警告

    次のコマンドを実行すると、バケット内のすべてのデータが削除され、削除されたデータは回復できません。操作には十分ご注意ください。

    ossutil rm  oss://examplebucket -b -a -r
    Do you really mean to remove recursively objects and multipart uploadIds of oss://examplebucket(y or N)? y
    Do you really mean to remove the Bucket: examplebucket(y or N)? y

    成功時の応答には、削除されたオブジェクト数、削除されたパートを生成したマルチパートアップロードタスク数、削除されたバケット名、および削除操作の完了に要した時間が含まれます。

    Succeed: Total 189 objects, 37 uploadIds. Removed 189 objects, 37 uploadIds.
    Removed Bucket: examplebucket
    9.184193(s) elapsed

共通オプション

別のリージョンにあるバケットに ossutil を使用してアクセスする場合は、-e オプションを追加して、バケットのリージョンのエンドポイントを指定します。別の Alibaba Cloud アカウントに属するバケットに ossutil を使用してアクセスする場合は、-i オプションを追加してアカウントの AccessKey ID を指定し、-k オプションを追加して AccessKey Secret を指定します。

たとえば、中国 (上海) リージョンにあり、別の Alibaba Cloud アカウントに属する testbucket という名前のバケットから、exampletest.png という名前のオブジェクトを削除するには、次のコマンドを実行します。

ossutil rm oss://testbucket/exampletest.png -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret

このコマンドの他の共通オプションについては、「共通オプション」をご参照ください。

よくあるエラー

次の表に、rm コマンドを使用する際に発生する可能性のあるよくあるエラーについて説明します。

エラー

原因

解決方法

AccessDenied

権限が不足しています。

RAM 権限を確認してください。

InvalidEndpoint

バケットのリージョンに対するエンドポイントが正しくありません。

正しいエンドポイント形式を使用してください。「共通オプション」をご参照ください。

InvalidArgument

オプションの値が無効です。

--version-id の形式または --encoding-type の値を確認してください。

参考情報: HTTP 403 エラーコードHTTP 400 エラーコード