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 IDAWS Secret Access KeyRegion 等信息。

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

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 存储。

相关推荐
知识分享小能手2 小时前
openEuler入门学习教程,从入门到精通,云计算与 Linux 操作系统概述(1)
linux·云计算·openeuler
Lucifer三思而后行9 小时前
使用 BR 备份 TiDB 到 AWS S3 存储
数据库·tidb·aws
在云上(oncloudai)12 小时前
AWS Fargate 与 AWS Lambda之间的区别详解
云计算·aws
喜欢你,还有大家12 小时前
Kubernetes-架构安装
架构·kubernetes·云计算
easy_coder15 小时前
超越故障修复:从 Kubernetes POD 崩溃到 AI 驱动的运维认知重构
云原生·架构·kubernetes·云计算
28的博客15 小时前
CentOS 7 通过 Packstack 安装 OpenStack Train 完整步骤
云计算·openstack·平台即服务
百度智能云技术站17 小时前
百度智能云 X 十字路口 | 对谈王雁鹏:亲述从大数据时代到 3 万卡集群的中国算力演进史
ai·云计算
ProgrammerPulse19 小时前
超融合架构的核心组件与协同机制深度解析
云计算
AWS官方合作商20 小时前
AWS 免费套餐深度解析:Amazon RDS 免费试用时长与实战指南
云计算·aws
竹君子20 小时前
研发管理知识库(10)AWS云的核心DevOps工具介绍
云计算·aws·devops