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

相关推荐
会议咨询3 小时前
2026年数据科学、云计算与智能技术国际会议(DCIT 2026)
云计算·数据科学·智能技术
ha_lydms17 小时前
MaxCompute中窗口函数
大数据·hadoop·阿里云·云计算·dataworks·maxcompute·odps
GPU实战笔记19 小时前
云端 GPU 暂停任务:如何把短期关机与七天资源释放边界分开判断?
云计算·云服务器·数据盘·gpu云计算·实例生命周期
QYR-分析1 天前
刚需赛道:全球一次性有创压力传感器市场深度解析
云计算
AKAMAI1 天前
随着瓦尔·基尔默的AI分身诞生,生成式AI是否正在将好莱坞推向边缘?
人工智能·云原生·云计算
小葱运维7 天前
命名与环境规范
运维·开源·云计算
workflower7 天前
SSH(Struts+Spring+Hibernate)
人工智能·机器学习·机器人·云计算·无人机
不吃香菜kkk、7 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
金融小师妹7 天前
AI金融能力评估:18个主流模型金融问题平均错误率达57%
人工智能·云计算·逻辑回归·深度优先
whyutianict_vv7 天前
云计算运维培训课程技术栈拆解:从 Linux 网络到 AI 推理的五层能力分层
linux·云计算