Todos los productos
Search
Centro de documentos

Object Storage Service:rm

Última actualización: Sep 02, 2026

Este tema describe cómo ejecutar el comando rm para eliminar objetos, partes o buckets que ya no necesita y así evitar cargos innecesarios.

Notas de uso

  • Para eliminar un solo objeto, debe contar con el permiso oss:DeleteObject. Para eliminar todos los objetos de un directorio, requiere los permisos oss:DeleteObject y oss:ListObjects. Para eliminar una versión específica de un objeto, necesita el permiso oss:DeleteObjectVersion. Para eliminar todas las versiones de objetos en un bucket, debe tener los permisos oss:ListObjectVersions y oss:DeleteObjectVersion. Para eliminar todas las versiones de objetos dentro de un directorio, se requieren los permisos oss:DeleteObjectVersion y oss:ListObjects. Para eliminar partes de un objeto, necesita los permisos oss:ListMultipartUploads y oss:AbortMultipartUpload. Para eliminar todos los objetos y partes de un bucket, debe contar con los permisos oss:ListMultipartUploads, oss:AbortMultipartUpload, oss:ListObjects y oss:DeleteObject. Para eliminar un bucket, requiere el permiso oss:DeleteBucket.

  • En ossutil 1.6.16 y versiones posteriores, puede usar directamente ossutil como nombre del binario en la línea de comandos. No es necesario actualizar el nombre del binario según el sistema operativo. En versiones de ossutil anteriores a la 1.6.16, debe actualizar el nombre del binario según el sistema operativo. Para obtener más información, consulte ossutil command reference.

Sintaxis del comando

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

La siguiente tabla describe los parámetros y opciones de la sintaxis.

Parámetro/Opción

Descripción

bucketname

Nombre del bucket.

prefix

Prefijo en los nombres de los recursos, como directorios y objetos.

-r, --recursive

Si especifica esta opción, ossutil elimina del bucket todos los objetos cuyos nombres contienen el prefijo indicado. Si no la especifica, solo se eliminan los objetos señalados explícitamente.

-b, --bucket

Indica que el comando eliminará el bucket. Esta opción es obligatoria únicamente cuando se elimina un bucket.

-m, --multipart

Especifica que la operación se realiza sobre las tareas de carga multiparte incompletas del bucket.

-a, --all-type

Indica que la operación afecta tanto a los objetos cuyos nombres contienen el prefijo especificado como a los datos generados por tareas de carga multiparte incompletas en el bucket.

-f, --force

Fuerza la ejecución de la operación sin solicitar confirmación.

--include

Incluye todos los objetos que cumplen las condiciones especificadas.

Para obtener más información, consulte Options --include and --exclude.

--exclude

Excluye todos los objetos que cumplen las condiciones especificadas.

Para obtener más información, consulte Options --include and --exclude.

--version-id

ID de versión del objeto. Este parámetro solo aplica a buckets con versionamiento habilitado o suspendido.

--all-versions

Selecciona todas las versiones de los objetos. Esta opción solo aplica a objetos en buckets con versionamiento habilitado o suspendido. En un solo comando rm, solo puede especificar una de las opciones: --version-id o --all-versions.

--payer

Responsable de pagar las tarifas generadas por la operación. Si desea que quien solicite acceso a los recursos en la ruta especificada cubra los costos asociados (como tráfico y solicitudes), establezca este parámetro en requester.

--encoding-type

Codificación del prefijo que sigue a oss://bucket_name. Valor válido: url. Si no especifica esta opción, el prefijo no se codifica.

Eliminar objetos

Aviso

Los objetos no se pueden recuperar después de eliminarlos. Tenga precaución al realizar esta operación.

Si utiliza el comando rm con o sin la opción -r para eliminar uno o más objetos, se invocan las operaciones ListObjects (GetBucket) y DeleteObject. En este caso, se le cobra por enviar solicitudes PUT. Para obtener más información, consulte Request fees.

Aviso
  • Si incluye las opciones --include y --exclude en un comando rm para eliminar objetos, podrían producirse eliminaciones accidentales debido a una configuración incorrecta de las condiciones. Se recomienda tener precaución al usar ambas opciones en el mismo comando rm.

  • Puede especificar más de una condición en las opciones --include y --exclude. Todas las condiciones se aplican de izquierda a derecha para coincidir con los objetos. Si define varias condiciones, se recomienda colocar la opción --include antes que la opción --exclude.

  • Ejemplos

    • Eliminar un solo objeto

      Elimine un objeto llamado exampleobject.txt de un bucket denominado examplebucket.

      ossutil rm oss://examplebucket/exampleobject.txt
    • Elimine todos los objetos cuyos nombres contengan el prefijo "test" de un bucket llamado examplebucket.

      ossutil rm oss://examplebucket/test -r
    • Elimine todos los objetos cuyos nombres terminen con el sufijo ".png" de un bucket llamado examplebucket.

      ossutil rm oss://examplebucket  --include "*.png" -r
    • Elimine los objetos cuyos nombres contengan la cadena "abc" y no terminen con los sufijos ".jpg" ni ".txt" de un bucket llamado examplebucket.

      ossutil rm oss://examplebucket  --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
    • Elimine una versión específica de un objeto llamado exampleobject.txt en un bucket con versionamiento habilitado denominado examplebucket.

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

      Para obtener más información sobre cómo recuperar todas las versiones de un objeto, consulte ls.

    • Elimine todas las versiones de un objeto llamado exampleobject.txt en un bucket con versionamiento habilitado denominado examplebucket.

      ossutil rm oss://examplebucket/exampleobject.txt --all-versions
    • Elimine todas las versiones de todos los objetos en un bucket con versionamiento habilitado llamado examplebucket.

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

    Si el nombre de un objeto contiene caracteres de control, como SOH (0x01), BS (0x08) o DEL (0x7F), ejecutar ossutil rm sin la opción --encoding-type no podrá encontrar el objeto porque el nombre no se analiza correctamente. De igual forma, ejecutar ossutil ls sin --encoding-type no muestra estos caracteres de control, por lo que el objeto parece ausente aunque todavía exista en el bucket. Especifique --encoding-type url para que ossutil muestre y coincida correctamente con los nombres de objetos que contienen caracteres de control.

  • Salida de ejemplo

    Una respuesta exitosa incluye la cantidad de objetos eliminados y el tiempo que tomó completar la operación de eliminación:

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

Eliminar partes

Si utiliza el comando rm con varias opciones para eliminar partes, se invocan las operaciones ListMultipartUploads, ListParts y AbortMultipartUpload. En este caso, se le cobra por enviar solicitudes GET durante las llamadas a ListMultipartUploads y ListParts, y por enviar solicitudes PUT cuando se llama a AbortMultipartUpload. Para obtener más información, consulte Request fees.

  • Ejemplos

    • Especifique la opción -m en el comando para eliminar las partes generadas por tareas de carga multiparte incompletas de un objeto llamado exampleobject.txt en un bucket denominado examplebucket.

      ossutil rm -m oss://examplebucket/exampleobject.txt
    • Especifique las opciones -m y -r en el comando para eliminar recursivamente las partes generadas por tareas de carga multiparte incompletas de objetos cuyos nombres contienen el prefijo "test" en un bucket llamado examplebucket.

      ossutil rm -m oss://examplebucket/test -r 
      Do you really mean to remove recursively multipart uploadIds of oss://examplebucket/test(y or N)? y 
    • Especifique las opciones -a y -r en el comando para eliminar recursivamente los objetos cuyos nombres contienen el prefijo "src", así como las partes generadas por tareas de carga multiparte incompletas de dichos objetos, en un bucket llamado examplebucket.

      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
  • Respuesta de ejemplo

    Una respuesta exitosa incluye la cantidad de objetos eliminados, el número de tareas de carga multiparte que generaron las partes eliminadas y el tiempo utilizado para completar la operación de eliminación:

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

Eliminar buckets

  • Elimine el bucket examplebucket que no contiene objetos ni partes.

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

    Una respuesta exitosa incluye el nombre del bucket eliminado y el tiempo que tomó eliminarlo:

    Removed Bucket: examplebucket
    2.230745(s) elapsed
  • Elimine un bucket llamado examplebucket junto con todos sus objetos y partes.

    Aviso

    Si ejecuta el siguiente comando, se eliminarán todos los datos del bucket y no será posible recuperarlos. Tenga precaución al realizar esta operación.

    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

    Una respuesta exitosa incluye la cantidad de objetos eliminados, el número de tareas de carga multiparte que generaron las partes eliminadas, el nombre del bucket eliminado y el tiempo que tomó completar la operación de eliminación:

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

Solución de problemas

Si ossutil rm -b -a -r falla porque el bucket contiene objetos cuyos nombres incluyen caracteres de control, como SOH (0x01), BS (0x08) o DEL (0x7F), utilice el siguiente flujo de trabajo alternativo para eliminar el bucket:

  1. Liste los objetos del bucket con los nombres codificados en URL para que los caracteres de control sean visibles:

    ossutil api list-objects --bucket <bucket_name> --encoding-type url --output-format json
  2. Utilice los nombres de objetos codificados para construir un cuerpo de solicitud de eliminación y elimine los objetos por lotes:

    ossutil api delete-multiple-objects --bucket <bucket_name> --encoding-type url2 --delete file://delete-objects.xml
  3. Elimine el bucket, que ahora está vacío:

    ossutil rb oss://<bucket_name>
Nota

En ossutil 2.x, la opción -b ya no es compatible para eliminar un bucket. Utilice el comando rb en lugar de rm -b.

No se puede incluir un byte NUL (0x00) en la clave de un objeto. Si intenta crear un objeto cuyo nombre contenga un byte NUL, OSS devuelve un error 400 BadRequest.

Opciones comunes

Para acceder a un bucket en otra región, use -e para especificar el endpoint. Para acceder a un bucket propiedad de otra cuenta de Alibaba Cloud, use -i para el AccessKey ID y -k para el AccessKey secret.

Por ejemplo, puede ejecutar el siguiente comando para eliminar un objeto llamado exampletest.png de un bucket denominado testbucket, ubicado en la región China (Shanghai) y perteneciente a otra cuenta de Alibaba Cloud:

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

Common options.