Amazon web services AWS CLI列出S3存储桶中的所有文件

Amazon web services AWS CLI列出S3存储桶中的所有文件,amazon-web-services,amazon-s3,aws-cli,Amazon Web Services,Amazon S3,Aws Cli,我在练习AWS命令。我的客户给了我AWS IAM访问密钥和密码,但没有给我可以登录到管理面板的帐户。这些键正用于项目本身。我试图做的是列出S3存储桶中递归的所有文件 这就是我到目前为止所做的 我已使用以下命令为CLI配置AWS配置文件 aws configure aws s3 ls 然后我可以通过运行以下命令列出所有可用的bucket aws configure aws s3 ls 然后我尝试列出一个bucket中的所有文件。我尝试运行以下命令 aws s3 ls s3://my-

我在练习AWS命令。我的客户给了我AWS IAM访问密钥和密码,但没有给我可以登录到管理面板的帐户。这些键正用于项目本身。我试图做的是列出S3存储桶中递归的所有文件

这就是我到目前为止所做的

我已使用以下命令为CLI配置AWS配置文件

aws configure
 aws s3 ls
然后我可以通过运行以下命令列出所有可用的bucket

aws configure
 aws s3 ls
然后我尝试列出一个bucket中的所有文件。我尝试运行以下命令

 aws s3 ls s3://my-bucket-name
但它似乎没有给我正确的内容。此外,我还需要一种在水桶周围导航的方法。我该怎么做呢?

有几个选项

滚你自己的 如果运行
aws s3 ls
,且行项目中有“PRE”一词而不是“modify date and size”,则表示它是一个可以遍历的“目录”。您可以编写一个快速bash脚本,在所有返回“PRE”的对象上运行递归的
aws s3 ls
命令,指示它隐藏了更多的文件

s3fs 使用上的S3FS Fuse项目,您可以在文件系统上装载一个S3存储桶,并以这种方式进行探索。我还没有测试过它,因此不能亲自推荐它,但它似乎是可行的,并且可能是一种使用您已经拥有并理解的工具的简单方法(如
tree

我可能会担心的一个问题是,当我使用类似的软件时,它会发出很多API调用,如果长期挂载,它可能只会增加API调用的数量而增加成本

将所有内容同步到本地主机(不推荐) 添加此项以完成,但您可以运行

aws s3同步s3://mybucket//

这将尝试将所有内容复制到您的计算机,您将能够使用自己的文件系统。但是,s3存储桶可以容纳数PB的数据,因此您可能无法将其全部同步到系统。此外,s3提供了许多强大的安全预防措施来保护数据,而您的个人计算机可能没有

您希望以递归方式列出所有对象,但不使用
--recursive
标志。这将仅在根级别显示前缀和任何对象


相关文档

你是什么意思,aws s3 ls s3://我的bucket name没有给出正确的内容?少了什么?谢谢。这很有帮助。我必须运行aws s3://eastwestrail staging——递归。