s3cmd 是一款 Amazon S3 命令行工具。它不仅能上传、下载、同步,还能设置权限,下面是完整的安装使用指南。
文章目录
1. 安装
$ apt-get update
$ sudo apt-get install s3cmd
2. 配置
2.1 服务端调用radosgw创建用户生产key
$ radosgw-admin user create --display-name="[name]" --uid=[uid]
像下面这样,保存好access key 和 secret key,一会在s3cmd里需要填写。
2.2 配置s3cmd
$ s3cmd --configure
根据提示输入accessKey,securityKey 生成基本的配置文件,其他回车默认或者N。
修改host_base/host_bucket
host_base = [serverIP]:[Port](改成自己的服务端的网址/IP和端口)
host_bucket = [serverIP]:[Port]/%(bucket)(改成自己的服务端的网址/IP和端口)
3. 基本操作
3.1 创建桶、查看桶、查看桶内容
查看桶
$ s3cmd ls
创建桶
$ s3cmd mb s3://[bukName]
查看桶里面有什么
$ s3cmd ls s3://[bukName]
3.2 上传单文件/批量/-r 目录
上传单个文件
$ s3cmd put [localFile] s3://[bukName]/[Path]
批量上传文件(就是在目录下加个星号*,代表此目录下的所有文件)
$ s3cmd put [localDirectory/*] s3://[bukName]/[Path]
上传目录
上传整个文件夹
$ s3cmd put -r [localDirectory] s3://[bukName]/[Path]
上传文件夹里面的所有文件(比上面多了 / )
$ s3cmd put -r [localDirectory/] s3://[bukName]/[Path]
3.3 下载单文件/批量/目录
下载单个文件
$ s3cmd get s3://[bukName]/[filePath] [localPath]
批量下载文件(就是在目录下加个星号*,代表此目录下的所有文件)
$ s3cmd get s3://[bukName]/[filePath/*] [localPath]
3.4 删除单文件/批量/目录
删除单个文件
$ s3cmd del s3://[bukName]/[filePath/file]
删除目录
$ s3cmd del s3://[bukName]/[filePath]
批量删除目录下的文件
$ s3cmd del s3://[bukName]/[filePath/*]
3.5 删除桶
s3cmd rb s3://[bukName]