背景

因为公司有用到S3,所以整理了一个S3的简单入门教程。当然,入门之后有其他更高级的用法需求,就靠自己去查文档了。入门的教程能让你快速上手,不至于翻阅一堆文档,容易被劝退。这里主要是介绍如何用cli去操作S3。

官方文档

https://docs.aws.amazon.com/cli/latest/userguide/cli-services-s3-commands.html?tag=fsou0c-20

安装客户端

https://docs.aws.amazon.com/zh_cn/cli/latest/userguide/getting-started-install.html

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

什么是 Amazon S3

就是国内的对象存储,更粗暴的比喻,可以理解成一个云盘(只是一个有接口的云盘)

配置

aws configure
AWS Access Key ID [None]: xxx

AWS Secret Access Key [None]: xxx

Default region name [None]: cn-northwest-1

Default output format [None]: json

列出对象

#列出所有bucket
aws s3 ls

列出单个bucket

aws s3 ls s3://bucket-name/

列出bucket中的某个对象

aws s3 ls s3://bucket-name/example/

同步对象

s3 sync 将更新与目标位置中同名文件的大小或修改时间不同的任何文件。

#格式
$ aws s3 sync <source> <target> [--options]

下面的示例显示了如何使用 --delete 选项。

// Delete local file
$ rm ./MyFile1.txt // Attempt sync without --delete option - nothing happens

$ aws s3 sync . s3://my-bucket/path // Sync with deletion - object is deleted from bucket

$ aws s3 sync . s3://my-bucket/path --delete

delete: s3://my-bucket/path/MyFile1.txt // Delete object from bucket

$ aws s3 rm s3://my-bucket/path/MySubdirectory/MyFile3.txt

delete: s3://my-bucket/path/MySubdirectory/MyFile3.txt // Sync with deletion - local file is deleted

$ aws s3 sync s3://my-bucket/path . --delete

delete: MySubdirectory\MyFile3.txt
// Sync with Infrequent Access storage class

$ aws s3 sync . s3://my-bucket/path --storage-class STANDARD_IA

移动对象

#格式
aws s3 mv <source> <target> [--options]

将所有对象从 s3://bucket-name/example 移动到 s3://my-bucket/

aws s3 mv s3://bucket-name/example s3://my-bucket/

将本地文件从当前工作目录移动到 Amazon S3 存储桶(相当于cp+rm)

aws s3 mv filename.txt s3://bucket-name

将文件从 Amazon S3 存储桶移动到当前工作目录(相当于cp+rm)

aws s3 mv s3://bucket-name/filename.txt ./

复制对象

#将所有对象从 s3://bucket-name/example 复制到 s3://my-bucket/
aws s3 cp s3://bucket-name/example s3://my-bucket/

以下示例使用 s3 cp 命令,将本地文件从当前工作目录复制到 Amazon S3 存储桶

aws s3 cp filename.txt s3://bucket-name

下载单个文件

aws s3 cp s3://bucket-name/filename.txt ./

删除对象

aws s3 rm s3://bucket-name/example/filename.txt #删除单个文件
aws s3 rm s3://bucket-name/example --recursive#删除所有对象

更多

更多最新文章,请关注同名公众号。

AWS CLI入门教程(亲测)的更多相关文章

  1. 爬虫之手机APP抓包教程-亲测HTTP和HTTPS均可实现

    当下很多网站都有做自己的APP端产品,一个优秀的爬虫工程师,必须能够绕过难爬取点而取捷径,这是皆大欢喜的.但是在网上收罗和查阅了无数文档和资料,本人亲测无数次,均不能正常获取HTTPS数据,究其原因是 ...

  2. Navicat Premium 15 安装包&激活工具及安装教程(亲测可用)

    Navicat Premium 15 安装包及激活工具 网盘地址: 链接:https://pan.baidu.com/s/1GU9qgdG1dRCw9Un8H9Ba9A提取码:F1r9 开始安装 下载 ...

  3. win10环境下Android studio安装教程----亲测可用

    这段时间学习了一下Android的基本开发,发现Google已经停止了对eclipse的支持,并开发了自己的Android开发工具--Android Studio,于是想安装一下Android Stu ...

  4. WIN10激活教程,亲测,有效

    WIN10激活教程: 1.打开开始菜单,找到设置,点开“更新和安全”,切换到“激活”选项卡,查看到当前系统的激活状态 2.在搜索框输入“CMD”,出现“命令提示符”工具时,右击选择“以管理员身份”运行 ...

  5. IDEA 2019.2及以下版本永久激活教程(亲测可用)

    写在前面 由于最近jetbrains公司开始严厉打击盗版激活码,所以导致一大批激活码失效,我身边的小伙伴对于如此苦恼,但是由于考虑到正版费用还是比较高昂的前提下,所以鉴于此,遂将之前整理的jar包激活 ...

  6. TP-LINK路由器端口映射全套教程(亲测有效)

    最近想在自己的笔记本上搭建一个博客系统,方便自己写写日志,记录一些知识心得. 由于笔记本是长期放在家里的,需要在外边也能访问它,于是需要在路由器上设置一个端口映射,让在因特网上的其他电脑能访问到家里的 ...

  7. mongodb安装教程(亲测有效)

    网上太多教程了,都是说的不明不白,所以自己整理一份 #参考官网: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat ...

  8. Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!)

    最近的一个VS2010的项目中用到了GDAL,关于GDAL这个库的说明与赞美,这里就不赘述了,下面是在VS2010中配置GDAL的详细过程. 系统说明 Win7(32位/64位),VS2010,GDA ...

  9. discuz x3论坛搬家换虚拟主机完美使用教程 亲测可行 附操作步骤

    第一步:备份网站数据进入后台—站长—数据库—备份,数据备份类型选择“Discuz!和 UCenter数据”,备份成功以后,数据自动保存在data文件夹下. 第二步:网站文件下载 把整个网站文件打包(虚 ...

  10. 思科ACS5.8最新搭建教程-亲测可用

    1.需要准备的相关软件 ACS5.8安装包:http://ouo.io/MWB0R ACS5.8破解包:http://ouo.io/FaiGgj Centos7:下载地址(破解时需要):http:// ...

随机推荐

  1. 02 docker的基本用法

    本章内容 1.OCI 2.docker核心组件--Cgroup与runC 3.docker的架构 4.docker的基本操作 5.安装docker环境 6.创建第一个容器 6.docker容器的状态变 ...

  2. 使用loadrunner运行中问题(无代码生成解决方法)

    开始录制之后,不能成功录制,工具栏events一直是2,打开新网站不跳动,结束录制之后没有代码生成 进入软件,点击工具栏的录制,选择录制选项,将http高级如下设置 同时也要修改套接字,如下配置 当开 ...

  3. 9. PEP8规范

    1. 每一级缩进4个空格 2. 续行时缩进要比正常行多缩进, 要能明显看出是续行的 3. 每一行最多79个字符 4. 函数和类定义时在前后加2个空行, 类内接口在定义时, 前后加1个空行 5. 二元运 ...

  4. 讨论django并发能力及提供并发解决方案

    django 的并发能力真的是令人担忧,这里就使用 nginx + uwsgi 提供高并发 nginx 的并发能力超高,单台并发能力过万(这个也不是绝对),在纯静态的 web 服务中更是突出其优越的地 ...

  5. DRF_序列化and反序列化之高级

    1. source用法 序列化器内的使用 book_name = serializers.CharField(max_length=8, min_length=3,source='name')这个用来 ...

  6. 自己动手从零写桌面操作系统GrapeOS系列教程——11.MBR介绍

    学习操作系统原理最好的方法是自己写一个简单的操作系统. 前面我们介绍过电脑的启动过程: 上电->BIOS->MBR(boot)->loader->kernel->交互界面 ...

  7. java的maven项目打包成.exe可执行文件

    打包exe可执行脚本: 1.源代码maven项目写完后打包成可执行jar包,此处我使用的是assembly插件. <plugin> <groupId>org.apache.ma ...

  8. 从零开始,开启属于你的 RTE 漫游之旅!丨漫游指南 x 即将启航

    什么是「开发者漫游指南」? 「开发者漫游指南」邀请热爱前端开发.关心音视频领域发展.希望进入音视频行业.乐于和大家一起交流成长的小伙伴,通过「开发者漫游指南」与社区共同成长,帮助更多的开发者在实时音视 ...

  9. JQ-DOM与元素的操作

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. ACM-NEFUOJ-P209湖南修路

    思路 prim的最小生成树,套上肝就完事了 代码 #include<iostream> #include<cstdio> #include<string.h> #d ...