Skip to content

https://blog.51cto.com/thedream/1893168

https://www.cnblogs.com/hei-ma/p/10155004.html

https://www.cnblogs.com/syavingcs/p/7302501.html

1.S3 cmd

官方网站 http://s3tools.org/s3cmd

安装

pip install s3cmd

第一次使用 s3cmd 前,需要先填写必要的信息。运行 s3cmd --configure,填入 csv 文件中的 access key 和 secret key,其余选项通常可以使用默认设定。设置结束后,在 $HOME 目录下会出现一个 .s3cfg 文件,里面存储了所有的设置信息。你可以使用文本编辑器进一步修改它

创建一个 bucket

s3cmd mb s3://bucket-name
s3cmd mb s3://bucket-name

显示所有 bucket

s3cmd ls
s3cmd ls

显示一个 bucket 中的内容

# 只显示根目录下的文件和文件夹
s3cmd ls s3://bucket-1

# 显示所有文件和文件夹
# -r 可以用 --recursive 代替,下同
s3cmd ls -r s3://bucket-1
s3cmd la s3://bucket-1
# 只显示根目录下的文件和文件夹
s3cmd ls s3://bucket-1

# 显示所有文件和文件夹
# -r 可以用 --recursive 代替,下同
s3cmd ls -r s3://bucket-1
s3cmd la s3://bucket-1

上传文件

# 上传单个文件
s3cmd put file-1 s3://bucket-1/dir-1/file-1

# 上传整个文件夹
# dir-1 将存放在 dir-2 之下
s3cmd put -r dir-1 s3://bucket-1/dir-2/

# 与 put -r 类似
# 但只上传已修改的文件
# 相当于 Linux 中的 rsync
s3cmd sync dir-1 s3://bucket-1/dir-2/
# 上传单个文件
s3cmd put file-1 s3://bucket-1/dir-1/file-1

# 上传整个文件夹
# dir-1 将存放在 dir-2 之下
s3cmd put -r dir-1 s3://bucket-1/dir-2/

# 与 put -r 类似
# 但只上传已修改的文件
# 相当于 Linux 中的 rsync
s3cmd sync dir-1 s3://bucket-1/dir-2/

下载文件

# 下载单个文件
s3cmd get s3://bucket-1/dir-1/file-1 file-1

# 下载整个文件夹
# 将在当前路径创建 dir-1 文件夹
s3cmd get -r s3://bucket-1/dir-1

# 下载整个文件夹
# 直接下载内容,不创建 dir-1 文件夹
s3cmd get -r s3://bucket-1/dir-1/
# 下载单个文件
s3cmd get s3://bucket-1/dir-1/file-1 file-1

# 下载整个文件夹
# 将在当前路径创建 dir-1 文件夹
s3cmd get -r s3://bucket-1/dir-1

# 下载整个文件夹
# 直接下载内容,不创建 dir-1 文件夹
s3cmd get -r s3://bucket-1/dir-1/

复制文件

# 复制单个文件
s3cmd cp s3://bucket-1/file-1 s3://bucket-2/file-2

# 复制整个文件夹的内容
s3cmd cp s3://bucket-1/dir-1/ s3://bucket-2/dir-2/
# 复制单个文件
s3cmd cp s3://bucket-1/file-1 s3://bucket-2/file-2

# 复制整个文件夹的内容
s3cmd cp s3://bucket-1/dir-1/ s3://bucket-2/dir-2/

移动文件

# 移动单个文件 s3cmd mv s3://bucket-1/file-1 s3://bucket-2/file-2

# 移动整个文件夹的内容 s3cmd mv s3://bucket-1/dir-1/ s3://bucket-2/dir-2/

删除文件

# 删除单个文件
s3cmd rm s3://bucket-1/file-1

\# 删除整个文件夹
s3cmd rm -r s3://bucket-1/dir-1/
# 删除单个文件
s3cmd rm s3://bucket-1/file-1

\# 删除整个文件夹
s3cmd rm -r s3://bucket-1/dir-1/

删除 bucket

# 删除一个空的 bucket
s3cmd rb s3://bucket-1

# 删除 bucket 和其中的所有内容
s3cmd rb --force s3://bucket-1
# 删除一个空的 bucket
s3cmd rb s3://bucket-1

# 删除 bucket 和其中的所有内容
s3cmd rb --force s3://bucket-1

2.S3上开启CORS

https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/ManageCorsUsing.html

https://docs.aws.amazon.com/zh_cn/AmazonS3/latest/userguide/VirtualHosting.html#virtual-hosted-style-access

https://docs.aws.amazon.com/zh_cn/sdk-for-javascript/v3/developer-guide/s3-example-photo-album.html