本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:在本地计算机和之间复制多个文件AWS CloudShell
使用该 CloudShell 接口,您可以在本地计算机和 shell 环境之间一次上传或下载单个文件。要在 CloudShell与本地计算机之间同时复制多个一:
-
Amazon S3:在本地计算机和之间复制文件时,使用 S3 存储桶作为中介 CloudShell。
-
压缩文件:将多个文件压缩到一个压缩文件夹中,可以使用 CloudShell 界面上传或下载这些文件。
注意
由于 CloudShell 不允许传入的互联网流量,因此目前无法使用诸如scp
或rsync
之类的命令在本地计算机和 CloudShell 计算环境之间复制多个文件。
使用 Amazon S3 上传和下载多个文件
先决条件
要使用存储桶和对象,您需要一个 IAM 策略来授予执行以下 Amazon S3 API 操作的权限:
-
s3:CreateBucket
-
s3:PutObject
-
s3:GetObject
有关 Amazon S3 操作的完整列表,请参阅《Amazon Si mple Storage S3 S3:API 参考手册》中的操作
AWS CloudShell使用 Amazon S3 将多个文件上传到
-
在中AWS CloudShell,通过运行以下
s3
命令创建 S3 存储桶:aws s3api create-bucket --bucket your-bucket-name --region us-east-1
如果调用成功,命令行将显示来自 S3 服务的响应:
{ "Location": "/your-bucket-name" }
-
将本地计算机中目录中的文件上传到存储桶。以下任一:
-
AWS Management Console:用于 drag-and-drop 将文件和文件夹上传到存储桶。
-
AWS CLI:在本地计算机上安装该工具的版本后,使用命令行将文件和文件夹上传到存储桶。
-
-
返回 CloudShell 命令行并输入以下命令,将 shell 环境中的目录与 S3 存储桶的内容同步:
aws s3 sync s3://your-bucket-name folder-path
注意
您还可以在
sync
命令中添加--exclude "<value>"
和--include "<value>"
参数以执行模式匹配,以排除或包含特定的文件或对象。有关更多信息,请参阅《AWS CLI命令参考》中的 “排除” 和 “包含筛选器” 的使用。
如果同步成功,则会显示从存储桶下载到该目录的每个文件的下载消息。
注意
使用 sync 命令,只有新的和更新的文件才会从源目录递归复制到目标。
AWS CloudShell使用 Amazon S3 下载多个文件
-
使用AWS CloudShell命令行输入以下
aws s3
命令将 S3 存储桶与 shell 环境中当前目录的内容同步:aws s3 sync folder-path s3://your-bucket-name
注意
您还可以在
sync
命令中添加--exclude "<value>"
和--include "<value>"
参数以执行模式匹配,以排除或包含特定的文件或对象。有关更多信息,请参阅《AWS CLI命令参考》中的 “排除” 和 “包含筛选器” 的使用。
如果同步成功,则会显示添加到存储桶的每个对象的上传消息。
-
将存储桶的内容下载到本地机器中。由于 Amazon S3 控制台不支持下载多个对象,因此您需要使用安装在本地计算机上的AWS CLI工具。
在AWS CLI工具的命令行中,运行以下任一:
aws s3 sync s3://your-bucket-name folder-path
如果同步成功,命令行会显示目标目录中更新或添加的每个文件的下载消息。
注意
要使用此选项,您需要在本地计算机上安装该AWS CLI工具,并配置用于调用AWS服务的证书。有关更多信息,请参阅 AWS Command Line Interface 用户指南。
使用压缩文件夹上传和下载多个文件
使用 zip/unzip 实用程序,您可以压缩存档中的多个文件,这些文件可以视为单个文件。这些实用程序已预先安装在 CloudShell 计算环境中。
有关预安装工具的更多信息,请参阅开发工具和 Shell 实用程序。
AWS CloudShell使用压缩文件夹将多个文件上传到
-
在本地计算机上,将要上传的文件添加到压缩文件夹。
-
启动 CloudShell,然后选择操作,上传文件。
-
在 “上传文件” 对话框中,选择 “选择文件”,然后选择刚才创建的压缩文件夹。
-
在 “上传文件” 对话框中,选择 “上载” 将所选文件添加到 shell 环境中。
-
在 CloudShell 命令行中,运行以下命令将 zip 存档的内容解压缩到指定目录:
unzip zipped-files.zip -d my-unzipped-folder
AWS CloudShell使用压缩文件夹下载多个文件
-
在 CloudShell 命令行中,运行以下命令将当前目录中的所有文件添加到压缩文件夹:
zip -r zipped-archive.zip *
-
选择操作,下载文件。
-
在 “下载文件” 对话框中,输入压缩文件夹的路径(
/home/cloudshell-user/zip-folder/zipped-archive.zip
例如),然后选择 “下载”。如果路径正确,则浏览器对话框提供打开压缩文件夹或将其保存到本地计算机的选项。
-
在本地计算机上,您现在可以解压缩下载的压缩文件夹的内容。