【发布时间】:2018-06-05 19:46:04
【问题描述】:
我已配置 AWS CLI,一切都已连接并正常运行。
请指导我如何仅下载文件,例如 .txt 文件或 .anyformat 文件但没有文件夹?
我的命令给我带来了所有带有文件夹的存储桶:
aws s3 cp s3://my-bucket ~/My_Files/ --recursive
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-cli
我已配置 AWS CLI,一切都已连接并正常运行。
请指导我如何仅下载文件,例如 .txt 文件或 .anyformat 文件但没有文件夹?
我的命令给我带来了所有带有文件夹的存储桶:
aws s3 cp s3://my-bucket ~/My_Files/ --recursive
【问题讨论】:
标签: amazon-web-services amazon-s3 aws-cli
单独使用AWS Command-Line Interface (CLI) aws s3 cp 命令是不可能的。
您可以使用 AWS CLI 将文件下载到目录中,然后编写一个 shell 命令来移动它们,或者您可以编写一个小脚本(例如在 Python 中)下载文件并将它们保存在您希望的位置(作为替代使用 AWS CLI)。
如果您使用 AWS CLI,它将始终重新创建文件夹结构。
【讨论】:
编辑:嘿,我在我的 S3 存储桶上检查了这个命令,它似乎工作。让我试着解释一下,这可能会对你有所帮助:
aws s3 cp s3://bucketname/ /home/ --recursive --exclude "*" --include "*.txt"
首先我们将存储桶名称放在 / 之后,我们指定系统上应将其复制到的位置。如果你在 Windows 上,你可以使用 C:/Users/... 或者在 Ubuntu 中只使用 /home/,其余的命令很简单。递归,因此 shell 不会在 1 个文件上停止,并且使用 exclude 和 include 意味着所有文件都被忽略,除非它们是 .txt 需要注意的一件事是您可能无权复制到目录或者您位于根目录中,请检查您是否指向一个有效目录,其中存储桶中的文件将被复制或只是导航到它并使用点在指向 s3 存储桶名称之后。
https://docs.aws.amazon.com/cli/latest/reference/s3/index.html
【讨论】:
company@company:~$ aws s3 cp s3://mybucket/ /home/company/My_Files/AWS/ --recursive --exclude "*" --include "*.txt" company@company:~$
2018-05-06-14-10-34-499