背景

因为公司有用到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. 制作mnist格式数据集

    import os from PIL import Image from array import * from random import shuffle # # 文件组织架构: # ├──trai ...

  2. mysql80解决不支持中文的问题

    1.查看mysql80字符集 show variables like 'character_set%'; 2.修改server编码格式 在mysql安装目录下找到my-default.ini文件并复制 ...

  3. python的setattr可以直接给类设置属性!!!!而不是非要是对象

    dynamic.py import unittest class MakeTestCases: testcases = None def make_test_func(self, case=None) ...

  4. 实验二:Open vSwitch虚拟交换机实践

    基础要求提交 a) /home/用户名/学号/lab2/目录下执行ovs-vsctl show命令.以及p0和p1连通性测试的执行结果截图: b) /home/用户名/学号/lab2/目录下开启Min ...

  5. 入门IDEA

    Hello world psvm sout public class HelloWord { public static void main(String[] args) { System.out.p ...

  6. 【chatQA】nvm包版本管理

    如何使用nvm来管理不同版本的 Node.js,然后使用不同的 Node.js 版本来运行不同版本的 React 应用? 要使用 nvm 来管理不同版本的 Node.js,可以按照以下步骤进行操作: ...

  7. MySQL学习(三)DQL/DML/DDL/DCL 介绍

    参考博客:https://blog.csdn.net/tomatofly/article/details/5949070 DQL(data query language) :数据查询语言 select ...

  8. Python实战项目-10文件存储/支付宝支付/支付成功回调接口

    文件存储 视频文件存储在某个位置,如果放在自己服务器上 放在项目的media文件夹 服务器上线后,用户既要访问接口,又需要看视频,都是使用一个域名和端口 分开:问价你单独放在文件服务器上,文件服务器带 ...

  9. RTC月度小报6月丨编程挑战赛圆满收官;声网上市1周年回顾...

    本月亮点速览 产品与技术: 声网Agora 实时音视频服务正式上线 HTC VIVE Sync App,支持非 VR 用户 「灵动课堂」发布 1.1.2 版本 「互动直播」6 月共发布两个版,最新版本 ...

  10. java注解与反射--2

    java注解与反射--2 反射:java.Reflection 因为反射,使java具有了一定的动态性. java反射机制概述 动态语言: 是一类在运行时可以改变其结构的语言:例如新的函数.对象.甚至 ...