删除AWS S3 所有的.dat文件
其中,”my-bucket” 是您要删除文件的 S3 存储桶名称。此命令将递归删除存储桶中所有后缀为 “.dat” 的文件。
具体地,--recursive 参数表示递归删除文件夹中的文件。--exclude "*" --include "*.dat" 表示先排除所有文件,再仅包含后缀为 “.dat” 的文件。
请注意,在执行此命令之前,请确保您确实希望删除所有符合条件的文件,并且您具有足够的权限执行此操作。同时,由于该操作是不可逆的,请谨慎执行。
1,使用以下 AWS CLI 命令
aws s3 rm s3://my-bucket/ --recursive --exclude "*" --include "*.dat"
- 安装 AWS CLI
要使用 AWS CLI,您需要首先安装它。您可以在此处下载并安装 AWS CLI。
- 配置 AWS CLI
在使用 AWS CLI 之前,您需要配置它以访问您的 AWS 帐户。您可以使用 aws configure 命令来配置 AWS CLI。
在命令行中输入以下命令:
aws configure
按照提示输入您的 AWS 访问密钥 ID、秘密访问密钥、默认区域和输出格式即可。
- 使用 AWS CLI 进行 S3 操作
- 列出存储桶
要列出您 AWS S3 帐户中的所有存储桶,请使用以下命令:
aws s3 ls
- 创建存储桶
要创建一个新的 S3 存储桶,请使用以下命令:
aws s3 mb s3://my-new-bucket-name
其中,"my-new-bucket-name" 是您要创建的新存储桶的名称。
- 上传文件
要将本地计算机上的文件上传到 S3 存储桶,请使用以下命令:
aws s3 cp /path/to/local/file s3://my-bucket/my-file
其中,"/path/to/local/file" 是本地计算机上文件的路径,"my-bucket" 是存储桶名称,"my-file" 是要上传的文件名称。
- 下载文件
要将 S3 存储桶中的文件下载到本地计算机,请使用以下命令:
aws s3 cp s3://my-bucket/my-file /path/to/local/file
aws s3 cp s3://my-bucket/my-file / # 下载到c盘
其中,"my-bucket" 是存储桶名称,"my-file" 是要下载的文件名称,"/path/to/local/file" 是将要保存下载文件的本地路径。
- 删除文件
要删除 S3 存储桶中的文件,请使用以下命令:
aws s3 rm s3://my-bucket/my-file
其中,"my-bucket" 是存储桶名称,"my-file" 是要删除的文件名称。
- 删除存储桶
要删除 S3 存储桶,请使用以下命令:
aws s3 rb s3://my-bucket --force
其中,”my-bucket” 是要删除的存储桶名称。请注意,由于 S3 存储桶必须为空才能被删除,因此必须使用 --force 参数强制删除非空存储桶。
这些是 AWS CLI 中使用 S3 操作的一些基本示例。有关 AWS CLI 中可用命令的完整列表,请参阅官方文档。
将 d1 存储桶所有的 .dat 文件移动到 d2 存储桶,子目录也移动
aws s3 mv s3://d1.com/ s3://d2.com/ --exclude "*" --include "*.dat" --recursive --exclude "*/"
请注意该命令可能会将您存储桶根目录下的所有 .dat 文件移动到目标存储桶根目录下,如果存在同名文件会被覆盖。因此,在执行该命令之前,建议您确认要移动的文件列表并备份需要保留的文件。
删除d1存储桶根目录下的dat文件
aws s3 rm s3://d1.com/ --recursive --exclude "*" --include "*.dat" --exclude "*/*"
将 d1 存储桶根目录下的 .dat 文件移动到 d2根目录,子目录不移动
aws s3 mv s3://d1.com/ s3://d2.com/ --recursive --exclude "*" --include "*.dat" --exclude "*/*"
2,使用 SDK 提供的 API 删除存储桶中的文件。
例如,使用 AWS SDK for Python (Boto3) 删除所有后缀为 “.dat” 的文件,代码如下:
这将遍历您的 S3 存储桶中的所有对象,并删除所有以 “.dat” 结尾的文件。
请注意,在执行此操作之前,请确保您确实希望删除所有符合条件的文件,并且您具有足够的权限执行此操作。同时,由于该操作是不可逆的,请谨慎执行。
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('my-bucket')
for obj in bucket.objects.filter(Prefix='/', Delimiter='/'):
if obj.key.endswith('.dat'):
obj.delete()
Leave a Reply
You must be logged in to post a comment.