s3cmd 是一款 Amazon S3 命令行工具。它不仅能上传、下载、同步,还能设置权限,下面是完整的安装使用指南。

一、安装方法

方法一:(Debian/Ubuntu )

1
2
3
wget -O- -q http://s3tools.org/repo/deb-all/stable/s3tools.key | sudo apt-key add -
wget -O/etc/apt/sources.list.d/s3tools.list http://s3tools.org/repo/deb-all/stable/s3tools.list
apt-get update && sudo apt-get install s3cmd

方法二:

1
2
3
4
wget http://nchc.dl.sourceforge.net/project/s3tools/s3cmd/1.0.0/s3cmd-1.0.0.tar.gz
tar -zxf s3cmd-1.0.0.tar.gz -C /usr/local/
mv /usr/local/s3cmd-1.0.0/ /usr/local/s3cmd/
ln -s /usr/local/s3cmd/s3cmd /usr/bin/s3cmd

二、使用方法

1、配置,主要是 Access Key ID 和 Secret Access Key

1
s3cmd --configure
$ s3cmd --configureEnter new values or accept defaults in brackets with Enter.
Refer to user manual for detailed description of all options.Access key and Secret key are your identifiers for Amazon S3
Access Key: ${ACCESS_KEY}
Secret Key: ${SECRET_ACCESS_KEY}Encryption password is used to protect your files from reading
by unauthorized persons while in transfer to S3
Encryption password:
Path to GPG program [/usr/bin/gpg]:When using secure HTTPS protocol all communication with Amazon S3
servers is protected from 3rd party eavesdropping. This method is
slower than plain HTTP and can't be used if you're behind a proxy
Use HTTPS protocol [No]:On some networks all internet access must go through a HTTP proxy.
Try setting it here if you can't connect to S3 directly
HTTP Proxy server name: localhost
HTTP Proxy server port [3128]: 8080New settings:Access Key: ${ACCESS_KEY}Secret Key: ${SECRET_ACCESS_KEY}Encryption password:Path to GPG program: /usr/bin/gpgUse HTTPS protocol: FalseHTTP Proxy server name: ${ENDPOINT}HTTP Proxy server port: ${PORT}Test access with supplied credentials? [Y/n]

2、列举所有 Buckets。(bucket 相当于根文件夹)

1
s3cmd ls

3、创建 bucket,且 bucket 名称是唯一的,不能重复。

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

4、删除空 bucket

1
s3cmd rb s3://my-bucket-name

5、列举 Bucket 中的内容

1
s3cmd ls s3://my-bucket-name

6、上传 file.txt 到某个 bucket,

1
s3cmd put file.txt s3://my-bucket-name/file.txt

7、上传并将权限设置为所有人可读

1
s3cmd put --acl-public file.txt s3://my-bucket-name/file.txt

8、批量上传文件

1
s3cmd put ./* s3://my-bucket-name/

9、下载文件

1
s3cmd get s3://my-bucket-name/file.txt file.txt

10、批量下载

1
s3cmd get s3://my-bucket-name/* ./

11、删除文件

1
s3cmd del s3://my-bucket-name/file.txt

12、来获得对应的bucket所占用的空间大小

1
s3cmd du -H s3://my-bucket-name

三、目录处理规则

以下命令都能将dir1 中的文件上传至my-bucket-name,但效果只截然不同的。

1)dir1 不带"/"斜杠,那么dir1会作为文件路径的一部分,相当于上传整个dir1目录,即类似 "cp -r dir1/"

1
2
~/demo$ s3cmd put -r dir1 s3://my-bucket-name/
dir1/file1-1.txt -> s3://my-bucket-name/dir1/file1-1.txt  [1 of 1]

2)带"/"斜杠的 dir1,相当于上传dir1目录下的所有文件,即类似 "cp ./* "

1
2
~/demo$ s3cmd put -r dir1/ s3://my-bucket-name/
dir1/file1-1.txt -> s3://my-bucket-name/file1-1.txt  [1 of 1]

四、同步方法

这是s3cmd 使用难点,但却是最实用的功能。官方使用说明见《s3cmd sync HowTo》

首先明确,同步操作是要进行MD5校验的,只有当文件不同时,才会被传输。

4.1、常规同步操作

1、同步当前目录下所有文件

1
s3cmd sync  ./  s3://my-bucket-name/

2、加 "--dry-run"参数后,仅列出需要同步的项目,不实际进行同步。

1
s3cmd sync  --dry-run ./  s3://my-bucket-name/

3、加 " --delete-removed"参数后,会删除本地不存在的文件。

1
s3cmd sync  --delete-removed ./  s3://my-bucket-name/

4、加 " --skip-existing"参数后,不进行MD5校验,直接跳过本地已存在的文件。

1
s3cmd sync  --skip-existing ./  s3://my-bucket-name/

4.2、高级同步操作

4.2.1、排除、包含规则(--exclude 、--include)

file1-1.txt被排除,file2-2.txt同样是txt格式却能被包含。

1
2
3
~/demo$ s3cmd sync --dry-run --exclude '*.txt' --include 'dir2/*' ./  s3://my-bucket-name/
exclude: dir1/file1-1.txt
upload: ./dir2/file2-2.txt -> s3://my-bucket-name/dir2/file2-2.txt

4.2.2、从文件中载入排除或包含规则。(--exclude-from、--include-from)

1
s3cmd sync  --exclude-from pictures.exclude ./  s3://my-bucket-name/

pictures.exclude 文件内容

1
2
3
# Hey, comments are allowed here ;-)
*.jpg
*.gif

4.2.3、排除或包含规则支持正则表达式

1
--rexclude 、--rinclude、--rexclude-from、--rinclude-from

s3cmd 安装使用指南相关推荐

  1. s3cmd安装及使用命令

    转自:董俊杰博客https://www.cnblogs.com/xd502djj/p/3604783.html s3cmd 安装使用指南 https://wangyan.org/blog/s3cmd- ...

  2. Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com)

    Win10 Terminal + WSL 2 安装配置指南,精致开发体验 - 知乎 (zhihu.com) https://zhuanlan.zhihu.com/p/273237897

  3. 服务器证书安装配置指南(Nginx)-天威诚信

    服务器证书安装配置指南(Nginx) 一.生成证书请求 您需要使用CSR生成工具来创建证书请求.    1.下载AutoCSR:   http://www.itrus.cn/soft/autocsr. ...

  4. (转)Fedora 17 安装完全指南

    转自:http://www.onesl.com/web/ylsh/2012060501.html Fedora 17 安装完全指南 李顺亮 2012年6月5日 Fedora 17 正式发布的当天,无所 ...

  5. Bind 9.5安装入门指南

    Bind 9.5安装入门指南 安装环境:CentOs5.6 64位 bind-9.5 [root@yznvm1 bind-9.5.2-P4]# uname -a Linux yznvm1 2.6.18 ...

  6. RabbitMQ快速安装配置指南

    RabbitMQ快速安装配置指南 官网的安装教程由于需要解释原理很多废话,这里总结一下在CentOS7环境下的安装配置过程.如需理解原理,请看官网原文的安装指南或翻译 1. 安装RabbitMQ se ...

  7. centOS安装Mysql指南

    centOS安装Mysql指南 说明:使用操作系统centOS6.4 32位系统:mysql:mysql-5.7.10-linux-glibc2.5-i686.tar.gz; 一.准备 下载mysql ...

  8. GitLab 安装配置指南

    为什么80%的码农都做不了架构师?>>>    GitLab 在 CentOS 7系统上的安装配置指南 1.简单介绍 GitLab 是利用 Ruby on Rails 开发的一个开源 ...

  9. VMware Horizon7安装-分步指南

    VMware Horizon7安装-分步指南 https://blog.csdn.net/VirtualMan_/article/details/105028744 简介 在安装之前,简要介绍一下Ho ...

  10. VMware-vRealize-Log-Insight-8.2.0.0安装部署指南

    VMware-vRealize-Log-Insight-8.2.0.0安装部署指南 https://blog.csdn.net/u011775882/article/details/110928142 ...

最新文章

  1. 【为自己相亲】单身小姐姐你在哪里,我是书豪,我在等你
  2. 表征学习、图神经网络、可解释的 AI,ML 机器人七大研究进展一览
  3. Match Points
  4. Elasticsearch master节点的作用以及脑裂现象
  5. serverless 框架_Malaguv1.4.1支持Serverless的微服务框架
  6. hystrix合并请求_Hystrix中的批处理(折叠)请求
  7. 计算机科学系小学教育专业就业前景,小学教育专业就业方向与就业前景
  8. html页面跳转时导航栏不变_解决Vue-iview封装导航栏刷新,导航栏消失之坑
  9. Django Rest Framework 部分源码剖析
  10. 微软Windows 11正式发布!(附安装教程)
  11. Pouch Container与Kubernetes相比效率如何?
  12. 银耳椰椰——Alpha冲刺Day09
  13. 在线成语接龙答题有奖微信小程序源码V1.5.1
  14. 你还有“不撞南墙不回头”之心吗?
  15. Python爬虫 | Python爬虫获取女友图片
  16. 消防应急疏散指示系统在某生物制药工厂项目的应用
  17. maya2018放大字体及窗口
  18. excel锁定单元格不能修改_简单的Excel技巧,却能让造价人变得如此逆天!
  19. Report中的Drill down
  20. JAVA Io 流 字符流 编码表 编码和解码的方法

热门文章

  1. བྱ་དེ་ཁྲུང་ཁྲུང་དཀར་པོ།།--洁白的仙鹤/仓央嘉措情歌--IPA--藏语...
  2. ext4文件系统布局
  3. CHD5.3.6在线安装和维护踩坑指南
  4. Windows防火墙 命令行批量阻断攻击IP(非范围)
  5. 小学计算机设备报表,小学信息技术教育及电教设备自查报告
  6. 大数据AI Notebook产品介绍和对比
  7. iOS苹果超级签苹果分发平台企鹅:422903005
  8. 使用LIME解释CNN
  9. 有些路,只能一个人走。
  10. php chm生成工具,phpDocumentor PHP 文档生成 CHM