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

相关推荐
weixin_3077791314 小时前
云计算大数据Azure服务分类详解
大数据·分类·自动化·云计算·azure
2601_9583205715 小时前
【零基础新手入门 】OpenClaw 2.6.6 对接阿里云百炼配置教程(包含安装包)
人工智能·阿里云·云计算·open claw·小龙虾·open claw安装·open claw一键安装
byoass15 小时前
企业云盘高可用架构:主备切换、负载均衡与健康检查实战
运维·网络·安全·架构·云计算·负载均衡
OpenClawCSDN1 天前
2026年怎么集成Hermes Agent/OpenClaw?阿里云搭建及token Plan配置攻略
阿里云·云计算
byoass1 天前
企业云盘与设计软件深度集成:AutoCAD/Revit/SolidWorks插件开发与API集成实战
服务器·网络·数据库·安全·oracle·云计算
OpenClawCSDN1 天前
2026年5月阿里云怎么搭建OpenClaw/Hermes Agent?百炼token Plan配置详解教程
阿里云·云计算
snpgroupcn1 天前
通过退役17套SAP ECC历史系统,降低道达尔能源的SAP数据相关风险
云计算·数据迁移·sap ecc
OpenClawCSDN2 天前
2026年5月阿里云OpenClaw/Hermes Agent集成攻略+百炼token Plan配置全览教程
阿里云·云计算
谷哥的小弟2 天前
(最新版)腾讯云服务器项目部署教程(4)— 部署项目
linux·运维·服务器·云计算·腾讯云·云服务器·项目部署
云天AI实战派2 天前
Agentic AI 全流程实战:用 OpenAI on AWS 搭一个餐饮补货智能体,从 API 调用到容器化上线
人工智能·云计算·aws