您可以通过-h命令查看ossutil支持的所有选项。
从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。
命令格式
ossutil -h
若要查看某个命令支持哪些选项,请使用ossutil help [command]命令来查看,例如ossutil help cp。
通用选项
以下为ossutil的通用选项,这些选项可以在大部分命令中使用:
选项 | 说明 |
-c,--config-file | ossutil工具的配置文件路径,ossutil启动时将从配置文件读取配置。当您需要管理多个账号下的Bucket时,可以生成多个配置文件,并将其中一个指定为默认配置文件。当您需要管理其他账户下的Bucket时,请通过-c指定正确的配置文件。 |
-e,--endpoint | 指定Bucket对应的Endpoint,当您需要管理多个地域的Bucket时,可以通过此选项指定多个Endpoint。各地域Endpoint详情请参见访问域名和数据中心。 |
-i,--access-key-id | 指定访问OSS使用的AccessKey ID,当您需要管理多个账号下的Bucket时,可通过此选项指定对应的AccessKey ID。 |
-k,--access-key-secret | 指定访问OSS使用的AccessKey Secret,当您需要管理多个账号下的Bucket时,可通过此选项指定对应的AccessKey Secret。 |
-p,--password | 指定访问OSS使用的AccessKey Secret,输入该选项时会提示用户从键盘输入AccessKey Secret,ossutil工具以从键盘读取的AccessKey Secret为准,并忽略通过其他方式配置的AccessKey Secret。 |
--loglevel | 在当前工作目录下输出ossutil日志文件ossutil.log。该选项默认为空,表示不输出日志文件。 取值:
|
--proxy-host、--proxy-user、--proxy-pwd | 在代理上网环境下,需指定如下三个选项:
通过这三个选项指定代理服务器信息后,ossutil将使用您指定的信息并通过代理服务器访问OSS。
|
--mode | 凭证类型。取值如下:
如果不添加此选项,默认按照原有的鉴权逻辑处理。 |
--ecs-role-name | EcsRamRole鉴权模式下的角色名称。 |
--token-timeout | RamRoleArn鉴权模式下AssumeRole参数中指定的临时访问凭证Token的有效时间。单位为秒,默认值为3600。 |
--ram-role-arn | RamRoleArn鉴权模式下的RAM角色ARN。 |
--role-session-name | RamRoleArn鉴权模式下的会话名称。 |
--read-timeout | 客户端读超时的时间,单位为秒,默认值为1200。 |
--connect-timeout | 客户端连接超时的时间,单位为秒,默认值为120。 |
--sts-region | STS服务的接入地域,格式为 如果不添加此选项,RamRoleArn鉴权模式下指定的sts endpoint为 |
--skip-verify-cert | 不校验服务端的数字证书。 |
--ua | 此选项用于指定HTTP Header中的User Agent值。指定后,该值将自动添加到ossutil工具设置的User Agent值的末尾。如果您希望在日志中查看完整的User Agent值,请结合使用--loglevel debug选项。 |
其他选项
除以上通用选项外,ossutil各命令包含的其他选项如下:
选项名称 | 描述 |
-s,--short-format | 显示精简格式,如果未指定该选项,默认显示长格式。 |
--bigfile-threshold | 开启大文件断点续传的文件大小阈值,单位为Byte,默认值为100 MByte,取值范围为0~9223372036854775807。 |
--acl | 配置读写权限ACL。 |
--range | 下载文件时,可以指定文件内容的字节范围进行下载,字节从0开始编号。
|
--all-versions | 表示Object所有版本。 |
--type | 数据校验的方式。取值如下:
|
-v,--version | 显示ossutil的版本并退出。 |
-u,--update | 更新操作。 |
--origin | HTTP请求头origin字段的值。 |
--upmode | probe命令中使用的上传模式。取值如下:
|
--sse-algorithm | Bucket的加密方式。取值如下:
|
--include | 列举符合指定条件的Object。例如 更多信息,请参见include和exclude选项。 |
--exclude | 列举不符合指定条件的Object。例如 更多信息,请参见include和exclude选项。 |
-r,--recursive | 递归操作。当指定该选项时,ossutil会对Bucket下所有符合条件的Object进行操作,否则只对URL中指定的单个Object进行操作。 |
--addr | 增加此项并填写正确的网络地址,ossutil会通过ping操作验证本地到目标地址的网络连通性。 默认值: |
--kms-masterkey-id | KMS密钥托管服务中的主密钥ID。 |
--version-id | Object的版本ID。 |
--version-id-marker | 列举Version ID字母排序在marker之后的Object版本。仅当Bucket开启版本控制后可用。 |
-m,--multipart | 指定操作的对象为Bucket中未完成的Multipart事件。 |
-d,--directory | 仅返回当前目录下的文件和子目录。 |
--payer | 请求的支付方式,如果为请求者付费模式,可以将该值设置为requester。 |
--maxupspeed | 最大上传速度,单位为KB/s,默认值为0(不受限制)。 |
--maxdownspeed | 最大下载速度,单位为KB/s,默认值为0(不受限制)。 |
--retry-times | 发生错误后的重试次数。默认值为10,取值范围为1~500。 说明 发生错误后立即重试。 |
--download | 通过使用文件URL下载目标文件到本地的方式探测本地和目标Bucket之间的网络状态。 |
-j,--jobs | 多文件操作时的并发任务数,默认值为3,取值范围为1~10000。 |
-a,--all-type | 指定操作的对象为Bucket中的Object和未完成的Multipart事件。 |
--disable-empty-referer | 表示不允许referer字段为空。 |
--method | 表示HTTP的请求类型,取值为PUT、GET、DELETE等。 |
--output-dir | 指定输出文件所在的目录,输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件。 默认值:当前目录下的ossutil_output目录。 |
--meta | 设置Object的meta,格式为[header:value#header:value...],如: |
--object | 用于probe命令中指定文件名称。 |
--end-time | Linux或Unix系统下的时间戳。如果使用该选项,则最后更新时间晚于通过此选项指定时间的Object会被忽略。 |
--limited-num | 返回结果的最大个数。 |
-L,--language | 设置ossutil工具的语言。取值如下:
|
--delete | 删除Bucket、Object或碎片操作。 |
-b,--bucket | 仅在删除Bucket时使用此选项。 |
--disable-crc64 | 关闭CRC64校验。默认情况下,ossutil进行数据传输会打开CRC64校验。 |
--upload | 通过将本地文件上传到目标Bucket的方式来探测本地和目标Bucket之间的网络状态。 |
--part-size | 分片大小,单位为字节,默认情况下ossutil根据文件大小自行计算合适的分片大小值。如果需要性能调优时或者其他特殊需求时,可以设置该值,取值范围为1~9223372036854775807。 |
--timeout | 签名URL的超时时间,单位为秒,默认值为60,取值范围为0~9223372036854775807。 |
--checkpoint-dir | 指定断点续传记录信息所在的目录。断点续传操作失败时,ossutil会自动创建名为 |
--url | 文件URL。 |
--marker | 列举名称字母排序在marker之后的Bucket、Object或者Part。 |
-f,--force | 强制操作,不进行询问提示。 |
--snapshot-path | 指定保存上传、下载文件时的快照信息所在的目录。在下一次上传或下载文件时,ossutil会读取指定路径下的快照信息进行增量上传或下载。
|
--start-time | 值为Linux或Unix系统下面的时间戳,如果输入这个选项,最后更新时间早于该时间的Object会被忽略。 |
--storage-class | 设置Object的存储方式。取值如下:
|
-t,--sts-token | 访问OSS使用的STSToken,仅在使用STS临时授权方式访问OSS时需要配置此项。该选项值会覆盖配置文件中的相应设置。stsToken生成方式请参见临时访问凭证。 |
--parallel | 单文件内部操作的并发任务数,取值范围为1~10000, 默认由ossutil根据操作类型和文件大小自行决定。 |
--partition-download | 用于分区下载。该选项取值格式为 |
--bucketname | Bucket名称。 |
--encoding-type | 对 |
--origin | HTTP请求头Origin字段的值,表示请求来源域,用来标识跨域请求。 |
--acr-method | HTTP请求头Access-Control-Request-Method的值,取值为GET、PUT、POST、DELETE、HEAD。 |
--acr-headers | HTTP请求头Access-Control-Request-Headers的值,表示在实际请求中除简单头部以外需要用到的Header。如果有多个Header,各个Header之间用英文的逗号(,)分隔,再加上双引号。例如 |
--upload-id-marker | 列举Upload ID字母排序在Marker之后的Part。 |
-h,--help | 显示帮助信息。 |
--trafic-limit | sign命令中用于指定HTTP的访问速度。单位为bit/s。 默认值:0,表示不限速。 取值范围:819200~838860800,即100 KB/s~100 MB/s。 |
--local-host | cp命令中用于指定ossutil工具的本地IP地址。指定该选项后,ossutil将通过指定IP地址访问OSS。 |
--enable-symlink-dir | 上传链接子目录。默认不上传。probe命令可以探测是否存在死循环链接文件或者目录。 |
--only-current-dir | 仅上传、下载、拷贝当前目录下的文件,忽略子目录及子目录下的文件。 |
--disable-dir-object | 不为上传的目录生成Object,但您仍可以在OSS控制台看到对应的目录结构。当您删除目录内的文件时,该目录也会消失。 |
--probe-item | 表示probe命令的探测项目,取值如下:
|
--redundancy-type | Bucket的数据容灾类型。取值如下:
|
--disable-encode-slash | 表示不对URL中的正斜线(/)进行编码。 |
--disable-all-symlink | 上传时忽略所有的符号链接子文件以及符号链接子目录。 |
--tagging | 上传或复制文件时设置文件的对象标签,格式为 |
--disable-ignore-error | 遇到错误,抛出异常直接终止。批量操作时不忽略错误。 |
--block-size | 定义输出结果中指定Bucket或目录下包含的Object大小,取值为KB、MB、GB或TB。不添加此选项时,默认以Byte为单位统计Object的大小。 重要 此选项仅在ossutil1.7.3及以上版本可用。 |
include和exclude选项
多选项时从左到右运用规则
一条规则中可以包含多个include(包含)和exclude(排除)条件,且每个文件从左到右逐一运用每个规则,直至最后才能最终确定匹配的结果。例如指定生效的文件夹中包含名为test.txt的文件,匹配不同的规则产生的结果如下。
规则一:
--include "*test*" --exclude "*.txt"
,当规则匹配到--include "*test*"
,匹配的结果为test.txt符合条件;当规则继续匹配到--exclude "*.txt"
时,因test.txt文件名包含.txt,所以被排除。则匹配的最终结果为test.txt不符合条件。规则二:
--exclude "*.txt" --include "*test*"
,当规则匹配到--exclude "*.txt"
,匹配的结果为test.txt不符合条件;当规则继续匹配到--include "*test*"
,因test.txt文件名包含test,所以符合条件。则匹配的最终结果为test.txt符合条件。规则三:
--include "*test*" --exclude "*.txt" --include "te?t.txt"
,当规则匹配到--include "*test*"
,匹配的结果为test.txt符合条件;当规则继续匹配到--exclude "*.txt"
时,因test.txt文件名包含.txt,所以被排除;当规则最后匹配到--include "te?t.txt"
时,因test.txt符合条件,所以被包含。则匹配的最终结果为test.txt符合条件。
选项支持的格式
通配符星号(*):匹配所有字符。例如:*.txt表示匹配所有TXT格式的文件。
通配符问号(?):匹配单个字符。例如:abc?.jpg表示匹配所有文件名为abc+任意单个字符的JPG格式的文件,如abc1.jpg。
[sequence]:匹配序列的任意字符,例如:abc[1-5].jpg表示匹配文件名为abc1.jpg~abc5.jpg的文件。
[!sequence]:匹配序列外的任意字符,例如:abc[!0-7].jpg表示匹配文件名不为abc0.jpg~abc7.jpg的文件。
选项使用限制
设定条件时不支持目录格式,例如ossutil cp oss://examplebucket/destfolder/ localfolder/ --include dir/
,否则报错--include or --exclude does not support format containing dir info。