AWS CLI 操作指南

AWS CLI 操作指南

世间本来就存在许多乐境,只是现代人为世间所累而未能予以关注,也就失去了许多体验乐境的机会。比如,忙里偷闲看云,以悠闲的心看悠闲的云,便是一种极妙的乐境。

本文将介绍如何配置 AWS CLI,并逐步展示如何执行常见的 AWS S3 操作,包括配置 AWS、安装 AWS CLI、上传文件、删除文件等。

1. 安装 AWS CLI

首先,确保你已经在系统中安装了 AWS CLI 工具。下面是在常见的操作系统上安装 AWS CLI 的方法:

1.1 在 Linux 系统上安装

你可以通过 pip(Python 包管理工具)来安装 AWS CLI。打开终端,运行以下命令:

bash 复制代码
sudo pip install awscli

或者,如果你的系统使用 apt(Debian 系列),可以运行:

bash 复制代码
sudo apt-get install awscli

1.2 在 Windows 系统上安装

Windows 用户可以直接下载 AWS CLI 安装包,访问 AWS CLI 下载页面进行下载安装。

安装完成后,打开命令提示符,输入以下命令以验证安装:

bash 复制代码
aws --version

1.3 配置 AWS CLI

安装完成后,你需要配置 AWS CLI。配置时,系统会要求输入 AWS Access Key ID 、AWS Secret Access Key 和 Region 等信息。

运行以下命令启动配置过程:

bash 复制代码
aws configure

系统会提示你输入:

  • AWS Access Key ID:从 AWS IAM 控制台获取。
  • AWS Secret Access Key:从 AWS IAM 控制台获取。
  • Default region name :选择你常用的 AWS 区域,例如 us-west-2。
  • Default output format :选择输出格式,通常选择 json。

2. 常见 AWS S3 操作

2.1 查看 S3 存储桶

你可以使用 aws s3 ls 命令列出你账户下的所有 S3 存储桶:

bash 复制代码
aws s3 ls

这个命令将列出所有 S3 存储桶的名称和相关信息。

2.2 列出存储桶中的文件

要查看某个存储桶中的文件,可以使用以下命令:

bash 复制代码
aws s3 ls s3://your-bucket-name/

这个命令会列出存储桶 your-bucket-name 中的所有文件和目录。

2.3 上传文件到 S3

使用 aws s3 cp 命令将本地文件上传到 S3 存储桶。例如,将本地的 file.txt 上传到 my-bucket 存储桶中:

bash 复制代码
aws s3 cp ./file.txt s3://my-bucket/

你还可以上传整个文件夹,使用 --recursive 参数:

bash 复制代码
aws s3 cp ./local-folder/ s3://my-bucket/ --recursive

2.4 同步本地文件夹到 S3 存储桶

如果你希望将本地的文件夹同步到 S3 存储桶,可以使用 aws s3 sync 命令。以下命令会将本地 /home/ 目录下的所有文件同步到 S3 存储桶 ceshi 下的路径 ecs-backup/10-50-158-73/$(date +%Y-%m-%d)/ 中:

bash 复制代码
aws s3 sync /home/ s3://ceshi/ecs-backup/10-50-158-73/$(date +%Y-%m-%d)/ --delete

说明:

  • --delete 参数会删除目标 S3 存储桶中不再本地存在的文件。请谨慎使用。

2.5 查看存储桶中的文件夹内容

如果你想查看 S3 存储桶中某个"文件夹"的内容,使用类似以下命令:

bash 复制代码
aws s3 ls s3://my-bucket/folder1/subfolder/

这个命令会列出 folder1/subfolder/ 下的所有文件。需要注意的是,S3 并没有真正的文件夹,路径结构仅是通过对象的前缀来模拟的。

2.6 删除文件或文件夹

要删除 S3 存储桶中的文件,可以使用 aws s3 rm 命令。例如,删除 my-bucket 存储桶中的 file.txt 文件:

bash 复制代码
aws s3 rm s3://my-bucket/file.txt

如果你想删除整个目录下的所有文件,可以使用 --recursive 参数:

bash 复制代码
aws s3 rm s3://my-bucket/folder-name/ --recursive

2.7 删除存储桶

如果你想删除一个空的 S3 存储桶,可以使用以下命令:

bash 复制代码
aws s3 rb s3://my-bucket/

2.8 删除版本化对象

如果存储桶启用了版本控制并且你需要删除版本化对象,可以使用 --version-id 参数:

bash 复制代码
aws s3 rm s3://my-bucket/file.txt --version-id <version-id>

如果要删除所有版本的文件,可以使用 --versions 参数:

bash 复制代码
aws s3 rm s3://my-bucket/ --recursive --versions

3. 常见问题解答

3.1 如果目标文件夹不存在,aws s3 sync 会失败吗?

如果目标文件夹(前缀)不存在,aws s3 sync 命令并不会失败。AWS S3 会自动创建缺失的路径,命令会正常执行。你可以直接使用 aws s3 sync 同步文件夹,而不需要担心文件夹是否存在。

3.2 如何进入 S3 中的"文件夹"?

在 AWS S3 中,文件夹实际上是通过文件路径的前缀来模拟的。你不能像在传统文件系统中那样"进入"文件夹。要查看某个"文件夹"中的内容,你可以使用 aws s3 ls 命令指定该文件夹的路径。例如:

bash 复制代码
aws s3 ls s3://my-bucket/folder1/subfolder/

4. 总结

本指南涵盖了从安装 AWS CLI 到常见的 AWS S3 操作的内容,包括上传、删除、同步文件以及查看存储桶内容。通过掌握这些基本操作,你可以高效地管理 AWS 上的 S3 存储。

相关推荐
逐流人14 小时前
手工建集群到全自动发布:k8s集群部署与DevOps流水线整合实战
ci/cd·云原生·kubernetes·云计算·devops
wz975419 小时前
走进云计算:从硬件到云平台,读懂数字化底层基石
云计算
Kari112 天前
企业大模型RAG知识库从0到1搭建指南:腾讯云ADP+JOTO实战
人工智能·云计算·腾讯云
Kari112 天前
企业级智能体平台怎么选:腾讯云ADP与其他主流技术路线的架构对比
架构·云计算·腾讯云
无所畏俱的老尹4 天前
Agent 落地为什么需要影子对照:同输入只读双跑、写动作变提案、差异报警,比直接切全量更安全
人工智能·机器学习·云计算·aigc·devops
逐流人4 天前
DevOps 入门实战(一):从 CI/CD 概念到 Jenkins 自动构建部署
运维·云原生·云计算·jenkins·devops
SaaS_Product4 天前
OneDrive中的文件批量迁移到Zoho网盘
经验分享·云计算·saas·onedrive
Zhang2857325 天前
跨境业务选AWS区域避坑指南:美东、美西、新加坡、东京怎么选?
云计算·aws
DolitD6 天前
UE像素流与云渲染技术方案对比分析
3d·云原生·ue5·云计算·图形渲染
天府云创6 天前
面向 Personal Agent 增强长期记忆与个性化能力,阿里云升级Memory 服务
阿里云·云计算·memory·agent智能体·长期记忆·personal agent