目录
s5cmd
NAME:
s5cmd - Blazing fast S3 and local filesystem execution tool
USAGE:
s5cmd [global options] command [command options] [arguments...]
COMMANDS:
ls 列出存储桶和对象
cp 复制对象
rm 移除对象
mv 移动/重命名对象
mb 创建桶
rb 移除桶
select 在对象上运行 SQL 查询
du 显示对象大小使用情况
cat 打印远程对象内容
pipe 从标准输入流向远程
run 批量运行命令
sync 同步对象
version 打印版本
bucket-version 配置存储桶版本控制
presign 打印远程对象预签名 URL
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--credentials-file value 使用指定的凭据文件而不是默认的凭据文件
--dry-run 假运行;展示将执行哪些命令而不实际执行它们(默认:false)
--endpoint-url value 为自定义服务覆盖默认的 S3 主机 [%S3_ENDPOINT_URL%]
--help, -h show help (default: false)
--install-completion 获取您的 shell(仅适用于 bash、pwsh 和 zsh)的完整安装说明(默认值:false)
--json 启用 JSON 格式输出(默认值:false)
--log value 日志级别:(跟踪、调试、信息、错误)(默认:信息)
--no-sign-request 不要签署请求:如果提供了--no-sign-request,则不会加载凭据(默认值:false)
--no-verify-ssl 禁用 SSL 证书验证(默认值:false)
--numworkers value 每个对象上执行操作的工人数(默认值:256)
--profile value 使用凭证文件中的指定配置文件
--request-payer value 谁为请求付费(访问请求者支付存储桶费用)
--retry-count value, -r value 请求因失败而重试的次数(默认:10 次)
--stat 收集程序执行的统计信息并在结束时显示(默认:false)
--use-list-objects-v1 对于不支持 ListObjectsV2 的服务使用 ListObjectsV1 API(默认:false)
$ s5cmd ls --help
Name:
ls - 列出存储桶和对象
Usage:
ls [options] argument
Options:
--etag, -e 在输出中显示实体标签(ETag)(默认值:false)
--humanize, -H 对象大小的人类可读输出(默认:false)
--storage-class, -s 显示对象类的全名(默认:false)
--exclude value 排除具有给定模式的对象(接受多个输入)
--all-versions 列出对象的所有版本(默认值:false)
--show-fullpath 仅显示对象的完整路径名称(默认值:false)
--help, -h 显示帮助(默认值:false)
Examples:
-
列出所有桶
> s5cmd ls
2. 列出存储桶中的对象和前缀
> s5cmd ls s3://bucket/
3. 列出存储桶中的所有对象
> s5cmd ls "s3://bucket/*"
4. 列出与通配符匹配的所有对象
> s5cmd ls "s3://bucket/prefix/*/*.gz"
5. 列出公共存储桶中的所有对象
> s5cmd --no-sign-request ls "s3://bucket/*"
6. 列出桶中的所有对象,但排除前缀为 abc 的对象
> s5cmd ls --exclude "abc*" "s3://bucket/*"
7.列出请求者付费存储桶中的所有对象
> s5cmd --request-payer=requester ls "s3://bucket/*"
8. 列出桶中对象的所有版本
> s5cmd ls --all-versions s3://bucket/object
9.列出桶中以某个前缀开头的所有对象的所有版本
> s5cmd ls --all-versions "s3://bucket/prefix*"
10. 列出桶中所有对象的所有版本
> s5cmd ls --all-versions "s3://bucket/*"
11. 列出所有文件及其完整路径
> s5cmd ls --show-fullpath "s3://bucket/*"
$ s5cmd cp --help
Name:
cp -复制对象
Usage:
cp [options] source destination
Options:
--flatten, -f 从第一个通配符开始展平源目录结构(默认值:false)
--no-clobber, -n 如果目标已经存在则不覆盖(默认值:false)
--if-size-differ, -s 仅在大小不同时覆盖目标(默认值:false)
--if-source-newer, -u 仅当源修改时间更新时覆盖目标(默认:false)
--version-id value 使用对象的指定版本
--show-progress, --sp 显示进度条(默认值:false)
--no-follow-symlinks 不要跟随符号链接(默认值:false)
--storage-class value 为目标设置存储类('STANDARD','REDUCED_REDUNDANCY','GLACIER','STANDARD_IA','ONEZONE_IA','INTELLIGENT_TIERING','DEEP_ARCHIVE')
--concurrency value, -c value 主机和远程服务器之间同时传输的部件数量(默认值:5)
--part-size value, -p value 主机和远程服务器之间传输的每个部分的大小,以 MiB 为单位(默认值:50)
--metadata value 为对象设置任意元数据,例如 --metadata'foo=bar'--metadata'fizz=buzz'
--sse value 在数据的目的地执行服务器端加密,例如 aws:kms
--sse-kms-key-id value 用于 SSE-KMS 加密的客户主密钥 (CMK) ID;如果需要服务器端生成的密钥,则将其忽略
--acl value 为目标设置 ACL:在不同的账户/组上定义授予的访问权限及其类型,例如 cp --acl 'public-read'
--cache-control value 为目标设置缓存控制:为对象定义缓存控制标头,例如 cp --cache-control 'public, max-age=345600'
--expires value 设置目标的过期时间(使用 RFC3339 格式):为对象定义过期标头,例如 cp --expires '2024-10-01T20:30:00Z'
--force-glacier-transfer 强制转移冰川对象,无论它们是否已恢复(默认:false)
--ignore-glacier-warnings 关闭冰川警告:忽略在复制、下载和移动冰川对象时遇到的错误(默认值:false)
--source-region value 设置源存储桶的区域;如果未指定 --source-region,则会自动发现源存储桶的区域。
--destination-region value 设置目标存储桶的区域:如果未指定 --destination-region,将自动发现目标存储桶的区域
--exclude value 排除具有给定模式的对象(接受多个输入)
--include value 包含具有给定模式的对象(接受多个输入)
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认值:false)
--content-type value 为目标设置内容类型:为对象定义内容类型标头,例如 --content-type text/plain
--content-encoding value 设置目标的内容编码:为对象定义内容编码标头,例如 --content-encoding gzip
--content-disposition value 为目标设置内容配置:为对象定义内容配置标头,例如 --content-disposition 'attachment; filename="filename.jpg"'
--help, -h 显示帮助(默认:false)
Examples:
-
将 S3 对象下载到工作目录
> s5cmd cp s3://bucket/prefix/object.gz .
02.下载 S3 对象并重命名
> s5cmd cp s3://bucket/prefix/object.gz myobject.gz
03. 将所有 S3 对象下载到一个目录
> s5cmd cp "s3://bucket/*" target-directory/
04. 从公共存储桶下载 S3 对象
> s5cmd --no-sign-request cp s3://bucket/prefix/object.gz .
05. 将文件上传到 S3 存储桶
> s5cmd cp myfile.gz s3://bucket/
06. 将匹配文件上传到 S3 存储桶中
> s5cmd cp "dir/*.gz" s3://bucket/
07. 递归上传一个目录中的所有文件到 S3 存储桶
> s5cmd cp dir/ s3://bucket/
08. 将 S3 对象复制到另一个桶中
> s5cmd cp s3://bucket/object s3://target-bucket/prefix/object
09.将匹配的 S3 对象复制到另一个存储桶
> s5cmd cp "s3://bucket/*.gz" s3://target-bucket/prefix/
10. 如果在目标上未找到,则将目录中的文件复制到 S3 前缀
> s5cmd cp -n -s -u dir/ s3://bucket/target-prefix/
11. 如果在目标中未找到,则将 S3 前缀中的文件复制到另一个 S3 前缀。
> s5cmd cp -n -s -u "s3://bucket/source-prefix/*" s3://bucket/target-prefix/
12. 在目标位置对对象执行 KMS 服务器端加密
> s5cmd cp --sse aws:kms s3://bucket/object s3://target-bucket/prefix/object
13. 在目标位置使用客户管理的客户主密钥 (CMK) 密钥 ID 对对象进行 KMS-SSE 操作
> s5cmd cp --sse aws:kms --sse-kms-key-id <your-kms-key-id> s3://bucket/object s3://target-bucket/prefix/object
14.强制传输带有前缀的 GLACIER 对象,无论它们是否已恢复
> s5cmd cp --force-glacier-transfer "s3://bucket/prefix/*" target-directory/
15.将文件上传到具有 publicreads3 acl 的 S3 存储桶
> s5cmd cp --acl "public-read" myfile.gz s3://bucket/
16. 向 S3 存储桶上传带有过期标头的文件
> s5cmd cp --expires "2024-10-01T20:30:00Z" myfile.gz s3://bucket/
17. 将文件上传到带有缓存控制标头的 S3 存储桶
> s5cmd cp --cache-control "public, max-age=345600" myfile.gz s3://bucket/
18. 将所有文件复制到 S3 存储桶,但不包括扩展名为 txt 和 gz 的文件
> s5cmd cp --exclude "*.txt" --exclude "*.gz" dir/ s3://bucket
19. 将所有文件从 S3 桶复制到另一个 S3 桶,但排除以“log”开头的文件。
> s5cmd cp --exclude "log*" "s3://bucket/*" s3://destbucket
20. 将 S3 存储桶中的所有文件复制到另一个 S3 存储桶,但仅复制以“log”开头的文件。
> s5cmd cp --include "log*" "s3://bucket/*" s3://destbucket
21. 从请求方付费存储桶下载 S3 对象
> s5cmd --request-payer=requester cp s3://bucket/prefix/object.gz .
22. 将具有 content-type 和 content-encoding 标头的文件上传到 S3
> s5cmd --content-type "text/css" --content-encoding "br" myfile.css.br s3://bucket/
23. 将远程对象的特定版本下载到工作目录
> s5cmd cp --version-id VERSION_ID s3://bucket/prefix/object .
24. 在上传或复制时向对象传递任意元数据
> s5cmd cp --metadata "camera=Nixon D750" --metadata "imageSize=6032x4032" flowers.png s3://bucket/prefix/flowers.png
$ s5cmd rm --help
Name:
rm - remove objects
Usage:
rm argument [argument]
选项:
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认:false)
--exclude 值 排除具有给定模式的对象(接受多个输入)
--include 值 包含具有给定模式的对象(接受多个输入)
--all-versions 列出对象的所有版本(默认:false)
--version-id 值 使用对象的指定版本
--help, -h 显示帮助(默认:false)
Examples:
-
删除一个 S3 对象
s5cmd rm s3://bucketname/prefix/object.gz
2. 删除所有具有前缀的对象
> s5cmd rm "s3://bucketname/prefix/*"
3. 删除匹配通配符的所有对象
> s5cmd rm "s3://bucketname/*/obj*.gz"
4. 删除所有匹配对象和特定对象
> s5cmd rm "s3://bucketname/prefix/*" s3://bucketname/object1.gz
5. 删除所有匹配的对象,但排除扩展名为.txt 或以下划线开头的对象。
> s5cmd rm --exclude "*.txt" --exclude "main*" "s3://bucketname/prefix/*"
6. 删除所有匹配的对象,但仅删除扩展名为.txt 或以“main”开头的对象。
> s5cmd rm --include "*.txt" --include "main*" "s3://bucketname/prefix/*"
7. 将远程对象特定版本的内容删除并输出到标准输出
> s5cmd rm --version-id VERSION_ID s3://bucket/prefix/object
8. 删除桶中对象的所有版本
> s5cmd rm --all-versions s3://bucket/object
9. 删除桶中以某个前缀开头的所有对象的所有版本
> s5cmd rm --all-versions "s3://bucket/prefix*"
10. 删除桶中所有对象的所有版本
> s5cmd rm --all-versions "s3://bucket/*"
$ s5cmd mv --help
Name:
mv - 移动/重命名对象
Usage:
mv [options] source destination
Options:
--flatten, -f 展平源目录结构,从第一个通配符开始(默认值:false)
--no-clobber, -n 如果目标已存在,则不要覆盖(默认值:false)
--if-size-differ, -s 仅在大小不同时覆盖目标(默认:false)
--if-source-newer, -u 仅当源文件的修改时间更新时覆盖目标文件(默认:false)
--version-id value 使用对象的指定版本
--show-progress, --sp 显示进度条(默认:false)
--no-follow-symlinks 不要跟随符号链接(默认值:false)
--storage-class value 为目标设置存储类('STANDARD','REDUCED_REDUNDANCY','GLACIER','STANDARD_IA','ONEZONE_IA','INTELLIGENT_TIERING','DEEP_ARCHIVE')
--concurrency value, -c value 主机和远程服务器之间并发传输的部件数量(默认:5)
--part-size value, -p value 在主机和远程服务器之间传输的每个部分的大小,单位为 MiB(默认值:50)
--metadata value 为对象设置任意元数据,例如--metadata'foo=bar'--metadata'fizz=buzz'
--sse value 在其目的地对数据执行服务器端加密,例如 aws:kms
--sse-kms-key-id value 用于 SSE-KMS 加密的客户主密钥 (CMK) ID;如果需要服务器端生成的密钥,请将其省略。
--acl value 为目标设置 ACL:定义不同账户/组的授予访问权限及其类型,例如 cp --acl 'public-read'
--cache-control value 设置目标的缓存控制:为对象定义缓存控制标头,例如 cp --cache-control 'public, max-age=345600'
--expires value 设置目标的过期时间(使用 RFC3339 格式):为对象定义过期标头,例如 cp --expires '2024-10-01T20:30:00Z'
--force-glacier-transfer 强制传输冰川对象,无论它们是否已恢复(默认:false)
--ignore-glacier-warnings 关闭冰川警告:忽略在复制、下载和移动冰川对象时遇到的错误(默认:false)
--source-region value 设置源存储桶的区域;如果未指定 --source-region,则将自动发现源存储桶的区域
--destination-region value 设置目标存储桶的区域:如果未指定 --destination-region,目标存储桶的区域将自动发现。
--exclude value 排除具有给定模式的对象(接受多个输入)
--include value 包含具有给定模式的对象(接受多个输入)
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认:false)
--content-type value 为目标设置内容类型:为对象定义内容类型标头,例如 --content-type text/plain
--content-encoding value 为目标设置内容编码:为对象定义内容编码标头,例如 --content-encoding gzip
--content-disposition value 设置目标的内容处置:为对象定义内容处置标头,例如:--content-disposition 'attachment; filename="filename.jpg"'
--help, -h show help (default: false)
Examples:
-
将 S3 对象移动到工作目录
s5cmd mv s3://bucket/prefix/object.gz .
2. 移动 S3 对象并重命名
> s5cmd mv s3://bucket/prefix/object.gz myobject.gz
3. 将所有 S3 对象移动到一个目录中
> s5cmd mv "s3://bucket/*" target-directory/
4. 将文件移动到 S3 存储桶
> s5cmd mv myfile.gz s3://bucket/
5. 递归地将一个目录移动到 S3 存储桶中
> s5cmd mv dir/ s3://bucket/
6. 将所有文件移动到 S3 存储桶,但排除扩展名是 txt 和 gz 的文件。
> s5cmd mv --exclude "*.txt" --exclude "*.gz" dir/ s3://bucket
7. 将 S3 存储桶中的所有文件移动到另一个 S3 存储桶,但排除以“log”开头的文件。
> s5cmd mv --exclude "log*" "s3://bucket/*" s3://destbucket
$ s5cmd mb --help
Name:
mb - make bucket
Usage:
mb s3://bucketname
Options:
--help, -h show help (default: false)
Examples:
-
Create a new S3 bucket
s5cmd mb s3://bucketname
$ s5cmd rb --help
Name:
rb - remove bucket
Usage:
rb s3://bucketname
Options:
--help, -h show help (default: false)
Examples:
-
删除具有给定名称的 S3 存储桶
s5cmd rb s3://bucketname
$ s5cmd select --help
NAME:
s5cmd select - run SQL queries on objects
USAGE:
s5cmd select command [command options] [arguments...]
COMMANDS:
csv run queries on csv files
json 在 JSON 文件上运行查询
parquet 在 parquet 文件上运行查询
help, h 显示命令列表或一个命令的帮助
OPTIONS:
--compression value 输入压缩格式(AWS 的选项:GZIP 或 BZIP2)
--query value, -e value 用于从对象中进行选择的 SQL 表达式
--output-format value 结果的输出格式(选项:json、csv)
--exclude value 排除给定模式的对象(接受多个输入)
--force-glacier-transfer 无论冰川对象是否已恢复,都强制转移(默认值:false)
--ignore-glacier-warnings 关闭冰川警告:忽略选择对象时遇到的错误(默认值:false)
--raw 禁用通配符操作,对于包含通配符的文件名很有用(默认值:false)
--all-versions 列出对象的所有版本(默认:false)
--version-id value 使用指定版本的对象
--help, -h show help (default: false)
$ s5cmd du --help
Name:
du - 显示对象大小使用情况
Usage:
du [options] argument
Options:
--group, -g 按存储类划分的组大小(默认值:false)
--humanize, -H 对象大小的人类可读输出(默认:false)
--exclude value 排除具有给定模式的对象(接受多个输入)
--all-versions 列出对象的所有版本(默认:false)
--version-id value 使用对象的指定版本
--help, -h show help (default: false)
Examples:
-
显示桶中所有对象的磁盘使用情况
s5cmd du "s3://bucket/*"
2. 显示与通配符匹配的所有对象的磁盘使用情况,按存储类分组
> s5cmd du --group "s3://bucket/prefix/obj*.gz"
3. 显示存储桶中所有对象的磁盘使用情况,[但排除扩展名为.py](http://xn--siq5yv8ij9jj0h5wb9v6o.py) 或以 main 开头的对象。
> s5cmd du --exclude "*.py" --exclude "main*" "s3://bucket/*"
4. 显示桶中对象的所有版本的磁盘使用情况
> s5cmd du --all-versions s3://bucket/object
5. 显示桶中以指定前缀开头的所有对象的所有版本的磁盘使用情况
> s5cmd du --all-versions "s3://bucket/prefix*"
6. 显示桶中所有对象的所有版本的磁盘使用情况
> s5cmd du --all-versions "s3://bucket/*"
7. 显示桶中特定版本对象的磁盘使用情况
> s5cmd du --version-id VERSION_ID s3://bucket/object
$ s5cmd cat --help
Name:
cat - 打印远程对象内容
Usage:
cat [options] source
Options:
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认值:false)
--version-id value 使用对象的指定版本
--concurrency value, -c value 主机和远程服务器之间同时传输的部件数量(默认值:5)
--part-size value, -p value 主机和远程服务器之间传输的每个部分的大小,单位为 MiB(默认值:50)
--help, -h show help (default: false)
Examples:
-
将远程对象的内容打印到标准输出
s5cmd cat s3://bucket/prefix/object
2. 将远程对象的特定版本的内容打印到标准输出
> s5cmd cat --version-id VERSION_ID s3://bucket/prefix/object
$ s5cmd pipe --help
Name:
pipe - 从标准输入流到远程
Usage:
pipe [options] destination
Options:
--storage-class value 为目标设置存储类别('STANDARD','REDUCED_REDUNDANCY','GLACIER','STANDARD_IA','ONEZONE_IA','INTELLIGENT_TIERING','DEEP_ARCHIVE')
--concurrency value, -c value 主机和远程服务器之间并发传输的部件数量(默认值:5)
--part-size value, -p value 主机和远程服务器之间传输的每个部分的大小,以 MiB 为单位(默认值:50)
--metadata value 为对象设置任意元数据
--sse value 在其目的地对数据执行服务器端加密,例如 aws:kms
--sse-kms-key-id value 用于 SSE-KMS 加密的客户主密钥 (CMK) ID;如果需要服务器端生成的密钥,则省略它。
--acl value 为目标设置 ACL:为不同的账户/组定义授予的访问权限及其类型,例如 pipe --acl 'public-read'
--cache-control value 设置目标的缓存控制:为对象定义缓存控制标头,例如 pipe --cache-control 'public, max-age=345600'
--expires value 设置目标的过期时间(使用 RFC3339 格式):为对象定义过期标头,例如 pipe --expires '2024-10-01T20:30:00Z'
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认:false)
--content-type value 为目标设置内容类型:为对象定义内容类型标头,例如 --content-type text/plain
--content-encoding value 为目标设置内容编码:为对象定义内容编码标头,例如 --content-encoding gzip
--content-disposition value 为目标设置内容处置:为对象定义内容处置标头,例如 --content-disposition 'attachment; filename="filename.jpg"'
--no-clobber, -n 如果目标已存在,则不覆盖(默认:false)
--help, -h show help (default: false)
Examples:
-
将标准输入流到一个对象
> echo "content" | gzip | s5cmd pipe s3://bucket/prefix/object.gz
02. 将任意元数据传递给一个对象
> cat "flowers.png" | gzip | s5cmd pipe --metadata "imageSize=6032x4032" s3://bucket/prefix/flowers.gz
03. 下载一个对象并将其流式传输到存储桶
> curl https://github.com/peak/s5cmd/ | s5cmd pipe s3://bucket/s5cmd.html
04. 压缩一个对象并将其流传输到存储桶
> tar -cf - file.bin | s5cmd pipe s3://bucket/file.bin.tar
$ s5cmd run --help
Name:
run - run 批处理命令
Usage:
run [file]
Options:
--help, -h show help (default: false)
Examples:
-
并行运行“commands.txt”文件中声明的命令
s5cmd run commands.txt
2.从标准输入读取命令并并行执行。
> cat commands.txt | s5cmd run
$ s5cmd sync --help
Name:
sync - 同步对象
Usage:
sync [options] source destination
Options:
--delete 删除目标中但源中不存在的对象(默认值:false)
--size-only 将对象的大小作为决定是否应同步对象的唯一标准(默认:false)
--exit-on-error 如果收到错误则停止同步进程(默认:false)
--no-follow-symlinks 不遵循符号链接(默认:false)
--storage-class value 为目标设置存储类('STANDARD','REDUCED_REDUNDANCY','GLACIER','STANDARD_IA','ONEZONE_IA','INTELLIGENT_TIERING','DEEP_ARCHIVE')
--concurrency value, -c value 主机和远程服务器之间同时传输的部件数量(默认值:5)
--part-size value, -p value 主机和远程服务器之间传输的每个部分的大小,单位为 MiB(默认值:50)
--metadata value 为对象设置任意元数据,例如:--元数据'foo=bar'--元数据'fizz=buzz'
--sse value 在数据的目的地执行服务器端加密,例如:aws:kms
--sse-kms-key-id value 用于 SSE-KMS 加密的客户主密钥 (CMK) ID;如果需要服务器端生成的密钥,请省略它
--acl value 为目标设置 ACL:定义不同账户/组的授予访问权限及其类型,例如 cp --acl 'public-read'
--cache-control value 设置目标的缓存控制:为对象定义缓存控制标头,例如 cp --cache-control 'public, max-age=345600'
--expires value 为目标设置过期时间(使用 RFC3339 格式):为对象定义过期标头,例如 cp --expires '2024-10-01T20:30:00Z'
--force-glacier-transfer 强制转移冰川物体,无论它们是否已恢复(默认值:false)
--ignore-glacier-warnings 关闭冰川警告:忽略在复制、下载和移动冰川对象期间遇到的错误(默认值:false)
--source-region value 设置源桶的区域;如果未指定 --source-region,则会自动发现源桶的区域
--destination-region value 设置目标存储桶的区域:如果未指定 --destination-region,则会自动发现目标存储桶的区域
--exclude value 排除具有给定模式的对象(接受多个输入)
--include value 包含具有给定模式的对象(接受多个输入)
--raw 禁用通配符操作,对于包含通配符字符的文件名很有用(默认:false)
--content-type value 为目标设置内容类型:为对象定义内容类型标头,例如 --content-type text/plain
--content-encoding value 为目标设置内容编码:为对象定义内容编码标头,例如 --content-encoding gzip
--content-disposition value 为目标设置内容处置:为对象定义内容处置标头,例如 --content-disposition 'attachment; filename="filename.jpg"'
--help, -h show help (default: false)
Examples:
-
将本地文件夹同步到 S3 存储桶
> s5cmd sync folder/ s3://bucket/
02. 将 S3 存储桶同步到本地文件夹
> s5cmd sync "s3://bucket/*" folder/
03. 将前缀下的 S3 存储桶对象同步到 S3 存储桶。
> s5cmd sync "s3://sourcebucket/prefix/*" s3://destbucket/
04. 将本地文件夹同步到 S3,但删除 S3 存储桶中有但本地没有的文件。
> s5cmd sync --delete folder/ s3://bucket/
05. 将 S3 存储桶同步到本地文件夹,但仅使用大小作为比较标准。
> s5cmd sync --size-only "s3://bucket/*" folder/
06. 将文件同步到 S3 存储桶
> s5cmd sync myfile.gz s3://bucket/
07. 将匹配的 S3 对象同步到另一个存储桶
> s5cmd sync "s3://bucket/*.gz" s3://target-bucket/prefix/
08. 在目标端对对象执行 KMS 服务器端加密
> s5cmd sync --sse aws:kms s3://bucket/object s3://target-bucket/prefix/object
09. 使用客户管理的客户主密钥 (CMK) 密钥 ID 在目标处对对象执行 KMS-SSE 操作
> s5cmd sync --sse aws:kms --sse-kms-key-id <your-kms-key-id> s3://bucket/object s3://target-bucket/prefix/object
10. 将所有文件同步到 S3 存储桶,但排除扩展名为 txt 和 gz 的文件。
> s5cmd sync --exclude "*.txt" --exclude "*.gz" dir/ s3://bucket
11. 将所有文件同步到 S3 存储桶,但仅包含具有 txt 和 gz 扩展名的文件。
> s5cmd sync --include "*.txt" --include "*.gz" dir/ s3://bucket
$ s5cmd version --help
NAME:
version - 打印版本
USAGE:
version [command options] [arguments...]
OPTIONS:
--help, -h show help (default: false)
$ s5cmd bucket-version --help
Name:
bucket-version -配置存储桶版本控制
Usage:
bucket-version [options] s3://bucketname
Options:
--set value 设置存储桶的版本控制状态:(已暂停,已启用)
--help, -h show help (default: false)
Examples:
-
获取桶的版本控制状态
s5cmd bucket-version s3://bucketname
2. 为存储桶启用版本控制
> s5cmd bucket-version --set Enabled s3://bucketname
3.停用存储桶的版本控制
> s5cmd bucket-version --set Suspended s3://bucketname
$ s5cmd presign --help
Name:
presign - 打印远程对象预签名 URL
Usage:
presign [options] source
Options:
--expire value URL 有效时长(默认:3 小时 0 分钟 0 秒)
--version-id value 使用指定版本的对象
--help, -h 显示帮助(默认值:false)
Examples:
-
将远程对象的 URL 打印到标准输出
s5cmd presign s3://bucket/prefix/object
2. 将带有特定到期时间的远程对象 URL 打印到标准输出
> s5cmd presign --expire 24h s3://bucket/prefix/object