Tüm Ürünler
Search
Belge Merkezi

Object Storage Service:rm

Son Güncelleme:Oct 01, 2026

Bu konu, gereksiz ücretlerden kaçınmak için artık ihtiyaç duymadığınız nesneleri, parçaları veya paketleri silmek amacıyla rm komutunun nasıl çalıştırılacağını açıklar.

Kullanım notları

  • Tek bir nesneyi silmek için oss:DeleteObject iznine sahip olmanız gerekir. Bir dizindeki tüm nesneleri silmek için oss:DeleteObject ve oss:ListObjects izinlerine sahip olmanız gerekir. Belirli bir nesne sürümünü silmek için oss:DeleteObjectVersion iznine sahip olmanız gerekir. Bir paketteki tüm nesne sürümlerini silmek için oss:ListObjectVersions ve oss:DeleteObjectVersion izinlerine sahip olmanız gerekir. Bir dizindeki tüm nesne sürümlerini silmek için oss:DeleteObjectVersion ve oss:ListObjects izinlerine sahip olmanız gerekir. Bir nesnenin parçalarını silmek için oss:ListMultipartUploads ve oss:AbortMultipartUpload izinlerine sahip olmanız gerekir. Bir paketteki tüm nesneleri ve parçaları silmek için oss:ListMultipartUploads, oss:AbortMultipartUpload, oss:ListObjects ve oss:DeleteObject izinlerine sahip olmanız gerekir. Bir paketi silmek için oss:DeleteBucket iznine sahip olmanız gerekir.

  • ossutil 1.6.16 ve sonraki sürümlerde, komut satırında ikili dosya adı olarak doğrudan ossutil kullanabilirsiniz. İşletim sistemine göre ikili dosya adını güncellemeniz gerekmez. 1.6.16'dan önceki ossutil sürümlerinde işletim sistemine göre ikili dosya adını güncellemeniz gerekir. Daha fazla bilgi için bkz. ossutil komut referansı.

Komut sözdizimi

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>]

Aşağıdaki tabloda sözdizimindeki parametreler ve seçenekler açıklanmaktadır.


Parametre/Seçenek


Açıklama


bucketname


Paketin adı.


prefix


Dizinler ve nesneler gibi kaynakların adlarında bulunan ön ek.


-r, --recursive


Bu seçeneği belirtirseniz ossutil, belirtilen ön eki içeren ada sahip tüm nesneleri paketten siler. Bu seçeneği belirtmezseniz ossutil yalnızca belirtilen nesneleri siler.


-b, --bucket


Komutun paketi sileceğini belirtir. Bu seçenek yalnızca bir paketi silerken gereklidir.


-m, --multipart


İşlemin, paketteki tamamlanmamış çok parçalı yükleme görevlerinde gerçekleştirileceğini belirtir.


-a, --all-type


İşlemin, belirtilen ön eki içeren ada sahip nesnelerde ve paketteki tamamlanmamış çok parçalı yükleme görevleri tarafından oluşturulan verilerde gerçekleştirileceğini belirtir.


-f, --force


Onay istemeden işlemi zorla gerçekleştirir.


--include

Belirtilen koşulları karşılayan tüm nesneleri dahil eder.

Daha fazla bilgi için bkz. --include ve --exclude seçenekleri.


--exclude

Belirtilen koşulları karşılayan tüm nesneleri hariç tutar.

Daha fazla bilgi için bkz. --include ve --exclude seçenekleri.


--version-id


Nesnenin sürüm kimliği. Bu parametre yalnızca sürüm oluşturmanın etkinleştirildiği veya askıya alındığı paketlerde geçerlidir.


--all-versions


Nesnelerin tüm sürümlerini belirtir. Bu seçenek yalnızca sürüm oluşturmanın etkinleştirildiği veya askıya alındığı paketlerdeki nesneler için geçerlidir. Tek bir rm komutunda --version-id ve --all-versions seçeneklerinden yalnızca birini belirtebilirsiniz.


--payer


İşlem sırasında oluşan ücretlerin ödeyicisi. Belirtilen yoldaki kaynaklara erişen istek sahibinin trafik ve istek ücretleri gibi işlem sırasında oluşan ücretleri ödemesini istiyorsanız bu parametreyi requester olarak ayarlayın.


--encoding-type


oss://bucket_name öğesinden sonra gelen ön ekin kodlaması. Geçerli değer: url. Bu seçeneği belirtmezseniz ön ek kodlanmaz.

Nesneleri silme

Uyarı

Nesneler silindikten sonra kurtarılamaz. Bu işlemi gerçekleştirirken dikkatli olun.

Bir veya daha fazla nesneyi silmek için -r seçeneğiyle veya bu seçenek olmadan rm komutunu kullanırsanız ListObjects (GetBucket) ve DeleteObject işlemleri çağrılır. Bu durumda PUT istekleri gönderdiğiniz için ücretlendirilirsiniz. Daha fazla bilgi için bkz. İstek ücretleri.

Uyarı
  • Nesneleri silmek için bir rm komutuna --include ve --exclude seçeneklerini dahil ederseniz yanlış koşul yapılandırmaları nedeniyle yanlışlıkla silmeler gerçekleşebilir. Her iki seçeneği de bir rm komutuna dahil ederken dikkatli olmanızı öneririz.

  • --include seçeneğinde ve --exclude seçeneğinde birden fazla koşul belirtebilirsiniz. Tüm koşullar nesneleri eşleştirmek için soldan sağa doğru uygulanır. Birden fazla koşul belirtirseniz --include seçeneğini --exclude seçeneğinden önce belirtmenizi öneririz.

  • Örnekler

    • Tek bir nesneyi silme

      examplebucket adlı bir paketten exampleobject.txt adlı bir nesneyi silin.

      ossutil rm oss://examplebucket/exampleobject.txt
    • examplebucket adlı bir paketten adı "test" ön ekini içeren tüm nesneleri silin.

      ossutil rm oss://examplebucket/test -r
    • examplebucket adlı bir paketten adı ".png" son ekini içeren tüm nesneleri silin.

      ossutil rm oss://examplebucket  --include "*.png" -r
    • examplebucket adlı bir paketten adı "abc" dizesini içeren ancak ".jpg" veya ".txt" son ekini içermeyen nesneleri silin.

      ossutil rm oss://examplebucket  --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
    • Sürüm oluşturmanın etkinleştirildiği examplebucket adlı bir paketten exampleobject.txt adlı bir nesnenin belirli bir sürümünü silin.

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

      Bir nesnenin tüm sürümlerini nasıl elde edeceğiniz hakkında daha fazla bilgi için bkz. ls.

    • Sürüm oluşturmanın etkinleştirildiği examplebucket adlı bir paketten exampleobject.txt adlı bir nesnenin tüm sürümlerini silin.

      ossutil rm oss://examplebucket/exampleobject.txt --all-versions
    • Sürüm oluşturmanın etkinleştirildiği examplebucket adlı bir paketten tüm nesnelerin tüm sürümlerini silin.

      ossutil rm oss://examplebucket --all-versions -r
    Not

    Bir nesne adı SOH (0x01), BS (0x08) veya DEL (0x7F) gibi kontrol karakterleri içeriyorsa ossutil rm komutunu --encoding-type seçeneği olmadan çalıştırmak, nesne adı doğru ayrıştırılmadığından nesneyi eşleştiremez. Benzer şekilde, ossutil ls komutunu --encoding-type olmadan çalıştırmak bu kontrol karakterlerini görüntülemez; bu nedenle nesne pakette hala mevcut olsa bile eksik görünür. ossutil'in kontrol karakterleri içeren nesne adlarını doğru görüntülemesi ve eşleştirmesi için --encoding-type url seçeneğini belirtin.

  • Örnek çıktı

    Başarılı bir yanıt, silinen nesne sayısını ve silme işleminin tamamlanması için geçen süreyi içerir:

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

Parçaları silme

Parçaları silmek için birden fazla seçeneğe sahip rm komutunu kullanırsanız ListMultipartUploads, ListParts ve AbortMultipartUpload işlemleri çağrılır. Bu durumda ListMultipartUploads ve ListParts işlemleri çağrıldığında GET istekleri gönderdiğiniz için ve AbortMultipartUpload işlemi çağrıldığında PUT istekleri gönderdiğiniz için ücretlendirilirsiniz. Daha fazla bilgi için bkz. İstek ücretleri.

  • Örnekler

    • Komutta -m seçeneğini belirterek examplebucket adlı bir paketten exampleobject.txt adlı bir nesnenin tamamlanmamış çok parçalı yükleme görevleri tarafından oluşturulan parçaları silin.

      ossutil rm -m oss://examplebucket/exampleobject.txt
    • Komutta -m ve -r seçeneklerini belirterek examplebucket adlı bir paketten adı "test" ön ekini içeren nesnelerin tamamlanmamış çok parçalı yükleme görevleri tarafından oluşturulan parçaları özyinelemeli olarak silin.

      ossutil rm -m oss://examplebucket/test -r 
      Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? y 
    • Komutta -a ve -r seçeneklerini belirterek examplebucket adlı bir paketten adı "src" ön ekini içeren nesneleri ve bu nesnelerin tamamlanmamış çok parçalı yükleme görevleri tarafından oluşturulan parçaları özyinelemeli olarak silin.

      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
  • Örnek yanıt

    Başarılı bir yanıt, silinen nesne sayısını, silinen parçaların oluşturulduğu çok parçalı yükleme görevlerinin sayısını ve silme işleminin tamamlanması için geçen süreyi içerir:

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

Paketleri silme

  • Hiç nesne veya parça içermeyen examplebucket paketini silin.

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

    Başarılı bir yanıt, silinen paketin adını ve paketin silinmesi için geçen süreyi içerir:

    Removed Bucket: examplebucket
    2.230745(s) elapsed
  • examplebucket adlı bir paketi ve paketteki tüm nesneleri ve parçaları silin.

    Uyarı

    Aşağıdaki komutu çalıştırırsanız paketteki tüm veriler silinir ve silinen veriler kurtarılamaz. Bu işlemi gerçekleştirirken dikkatli olun.

    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

    Başarılı bir yanıt, silinen nesne sayısını, silinen parçaların oluşturulduğu çok parçalı yükleme görevlerinin sayısını, silinen paketin adını ve silme işleminin tamamlanması için geçen süreyi içerir:

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

Sorun giderme

SOH (0x01), BS (0x08) veya DEL (0x7F) gibi kontrol karakterleri içeren nesneler bulunduğundan ossutil rm -b -a -r başarısız olursa paketi silmek için aşağıdaki alternatif iş akışını kullanın:

  1. Kontrol karakterlerinin görünür olması için nesne adlarını URL kodlamalı olarak listeleyerek paketteki nesneleri listele:

    ossutil api list-objects --bucket <bucket_name> --encoding-type url --output-format json
  2. Kodlanmış nesne adlarını kullanarak bir silme isteği gövdesi oluştur ve nesneleri toplu olarak sil:

    ossutil api delete-multiple-objects --bucket <bucket_name> --encoding-type url2 --delete file://delete-objects.xml
  3. Artık boş olan paketi sil:

    ossutil rb oss://<bucket_name>
Not

ossutil 2.x'te bir paketi silmek için -b seçeneği artık desteklenmemektedir. rm -b yerine rb komutunu kullanın.

Bir nesne anahtarına NUL baytı (0x00) dahil edilemez. Adında NUL baytı içeren bir nesne oluşturmaya çalışırsanız OSS 400 BadRequest hatası döndürür.

Ortak seçenekler

Farklı bir bölgedeki bir pakete erişmek için uç noktayı belirtmek üzere -e seçeneğini kullanın. Farklı bir Alibaba Cloud hesabına ait bir pakete erişmek için AccessKey ID için -i ve AccessKey gizli anahtarı için -k seçeneğini kullanın.

Örneğin, Çin (Şanghay) bölgesinde bulunan ve başka bir Alibaba Cloud hesabına ait olan testbucket adlı bir paketten exampletest.png adlı bir nesneyi silmek için aşağıdaki komutu çalıştırabilirsiniz:

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

Ortak seçenekler.