我有一个名为static.mysite.com
此存储桶包含名为html
我想使用AWS命令行界面删除html
目录的所有内容,但不删除目录本身。我该怎么办?
此命令也会删除目录:
aws s3 rm s3://static.mysite.com/html/ --recursive
我在AWS S3 rm的手册条目中没有看到这个问题的答案。
答案 0 :(得分:3)
老问题,但我在这里没有看到答案。如果您有一个用例来保留'文件夹'前缀,但删除所有文件,您可以使用--exclude
空匹配字符串。我发现--exclude "."
和--exclude ".."
选项不会阻止删除该文件夹。使用此:
aws s3 rm s3://static.mysite.com/html/ --recursive --exclude ""
答案 1 :(得分:1)
我只想确认文件夹的创建方式...
如果手动创建了“ subA”文件夹,然后删除了suba1文件夹,则应该找到“ subA”文件夹。手动创建文件夹时,实际上是在创建文件夹“对象”,该文件夹类似于您上载到S3的任何其他文件/对象。
但是,如果将文件直接上传到S3中的某个位置(“ subA”和“ suba1”文件夹尚不存在),您会发现“ subA”和“ suba1”文件夹是自动创建的。您可以使用AWS CLI工具之类的工具进行此操作,例如:
aws s3 cp file1.txt s3://bucket/subA/suba1/file1.txt
如果现在删除file1.txt,则“ subA”文件夹中将不再有任何对象,并且您会发现“ subA”和“ suba1”文件夹不再存在。
如果另一个文件(file2.txt)已上传到路径“ bucket / subA / file2.txt”,并且您删除了file1.txt(从上一个示例中删除),则会发现“ subA”文件夹仍然存在, “ suba1”文件夹消失。
希望这有意义吗?
亲切的问候, 克里斯
答案 2 :(得分:0)
aws s3 rm s3://static.mysite.com/html/ --recursive --exclude ""
这个命令对我有用,可以删除所有文件但不是文件夹。