使用阿里云CLI管理OSS资源

更新时间:

阿里云CLI集成了对象存储 OSS(Object Storage Service)的命令行工具ossutil,您可以在统一的CLI环境中执行OSS资源管理操作。本文为您介绍基于阿里云CLI使用ossutil的相关操作。

使用准备

  • ossutil是阿里云官方提供的OSS命令行工具,支持通过Windows、LinuxmacOS系统以命令行方式管理OSS数据。目前,ossutil以插件形式深度集成至阿里云CLI,您可以通过阿里云CLI直接调用ossutil完成对存储空间(Bucket)、文件(Object)等核心资源的管理操作。

  • 自阿里云CLIv3.0.304版本起,深度集成ossutil 2.0,向您提供更稳定、更高效的使用体验。当前阿里云CLI同时兼容ossutil 1.0ossutil 2.0两个版本,旧版本命令仍可正常使用。建议您将阿里云CLI升级至最新版本,以获得 ossutil 2.0 的全部新特性与性能提升。

  • 阿里云CLIossutil 1.0ossutil 2.0主要差异如下:

    命令调用差异

    新版本命令由 oss 升级为 ossutil,便于区分功能模块并支持更多高级特性。

    版本

    命令格式

    ossutil 1.0(旧版本)

    aliyun oss

    ossutil 2.0(新版本)

    aliyun ossutil

    说明

    新版本命令由oss 变更为 ossutil,如需使用ossutil 2.0,请在脚本或自动化任务中注意更新命令。

    命令差异

    差异项

    ossutil 1.0(旧版本)

    ossutil 2.0(新版本)

    bucket类配置

    按照功能进行分类,放在根命令下,例如logging、lifecycle。

    • 一个接口对应一个命令,放在ossutil api子命令下。

    • 配置参数同时支持XMLJSON格式。

    • 支持对输出内容的格式转换,例如转换成JSON。

    rm命令

    • 支持删除存储空间。

    • 一次操作,支持删除多种类型的数据,例如同时删除对象和分片。

    示例:rm oss://bucket/prefix -r -f -m 

    • 不支持删除存储空间,如果需要删除存储空间,请使用新增命令rb。

    • 一次操作,只能删除一种类型的数据,例如删除对象和分片时,需要分别调用。

    示例:rm oss://bucket/prefix -r -f

    rm oss://bucket/prefix -m -r -f

    追加命令

    • 命令为appendfromfile。

    • 数据源仅支持本地路径。

    • 命令为append。

    • 数据源支持本地路径、OSS资源地址和标准输入。

    cat命令

    仅支持输出整个文件内容。

    支持输出部分文件内容,例如前10个字节或者最后10个字节。

    cp命令

    对象间的拷贝只拷贝数据,不拷贝元数据和标签。

    进行对象间的拷贝时,可通过--copy-props来控制元数据和标签的复制规则:不拷贝、拷贝元数据、拷贝元数据和标签。

    默认拷贝元数据和标签。

    修改对象属性(

    权限、存储类型、元数据和标签)

    • 通过set-acl修改对象权限。

    • 通过set-meta修改对象元信息。

    • 通过cp命令,修改对象存储类型和标签。

    • 通过object-tagging命令修改对象标签。

    • 对象属性修改合并成一个命令set-props,根据需要修改的属性参数选择合适的接口,让属性修改更有效率。

    • 通过别名方式支持set-aclset-meta,但是命令行参数和原命令参数不一致。

    • 支持丰富的元数据和标签修改指令,包括 replace、update、purgedelete。

    预签名

    • 命令名为sign。

    • 签名的过期时间。仅支持时间间隔,例如120秒。

    • 命令名为presign。

    • 支持sign别名,但是命令行参数和原命令参数不一致。

    • 签名的过期时间。既支持时间间隔,例如 120秒,也只支持绝对时间设置。

    • v4签名下,限制生成操作7天的预签名地址。

    版本恢复

    仅支持通过删除“删除标记”恢复最新版本。

    • 支持通过删除“删除标记”恢复最新版本。

    • 支持通过版本索引,采用复制方式恢复到指定版本。

    • 支持通过时间索引,采用复制方式恢复到指定版本。

    hash

    仅支持计算本地文件哈希值。

    • 支持本地文件。

    • 支持对象路径。

    • 支持批量操作。

    sync

    • 不使用--delete参数时,与cp命令效果相同,边扫描源边拷贝,没有最大数量限制。

    • 使用--delete参数时,数据复制阶段也采用边扫描源边拷贝模式。

    • 无论是否设置--delete参数,都有最大数量限制,默认值是100W,最大可以配置到500W。

    • 先扫描源端和目的端列表,然后同步数据,最后根据--delete选项删除目的端文件的工作模式,所以当结合--update/--size-only选项时,有更好的同步性能。

    选项差异

    差异项

    ossutil 1.0(旧版本)

    ossutil 2.0(新版本)

    --include

    --exclude

    • 仅支持对象/文件名匹配。

    • 当包含多个include(包含)和exclude(排除)条件时,从左到右逐一运用每个规则,直至最后才能最终确定匹配的结果。

    • 支持对象/文件名匹配。

    • 支持对象/文件路径匹配。

    • 当包含多个include(包含)和exclude(排除)条件时,从左到右按照顺序运用规则,如果匹配到规则(包含或者排除),马上停止后面的检查。

    --snapshot-path

    支持

    不支持

    --encoding-type

    同时对输入参数和输出参数生效。

    • 高级命令中,该参数只对输入参数生效,不对输出结果生效。

    • API级命令中,该参数与接口的对应参数含义一致。

    目的端的排除选项

    仅支持--update。

    支持--update、-size-only、--checksum和--ignore-existing。

    速度限制

    仅支持上传的限速,使用--max-speed设置选项。

    支持上传和下载限速,使用--bandwidth-limit设置选项。

    默认配置

    签名版本

    签名版本1。

    签名版本4。当使用v4预签名时,最长有效期为1周。

    HTTPS协议

    当不指定时,默认是HTTP协议。

    默认使用HTTPS协议。

    对象列举接口

    使用ListObjects接口。

    默认使用ListObjectsV2接口,可以通过--list-objects切换到ListObjects接口。

    read-timeout

    客户端读写超时,默认值为1200秒。

    默认值20秒。

    connect-timeout

    客户端连接超时的时间,单位为秒,默认值为120秒。

    默认值10秒。

    断点续传

    支持,默认开启。

    支持,默认关闭。

新版本

说明
  • 在新版本的阿里云CLI中,ossutil 2.0支持自动检查并升级至最新版本,您无需手动执行update命令。

  • ossutil 2.0版本与阿里云CLI主程序版本相互独立,更新不受CLI版本绑定限制。

命令结构

阿里云CLIossutil 2.0命令格式如下:

aliyun ossutil command [argument] [flags]

aliyun ossutil command subcommond [argument] [flags]  

aliyun ossutil topic
  • argument:参数,为字符串。

  • flags:选项,支持短名字风格-o[=value]/ -o [value]和长名字风格--options[=value]/--options[value]。如果多次指定某个排它参数,则仅最后一个值生效。

命令示例如下:

  • 命令:aliyun ossutil cat oss://bucket/object

  • 多级命令:aliyun ossutil api get-bucket-cors --bucket bucketexample

  • 帮助主题:aliyun ossutil filter

命令列表

ossutil 2.0提供了高级命令、API级命令、辅助命令等三类命令。

  • 高级命令:用于常用的对对象或者存储空间的操作场景,例如存储空间创建、删除、数据拷贝、对象属性修改等。

    命令名

    含义

    mb

    创建存储空间

    rb

    删除存储空间

    du

    获取存储或者指定前缀所占的存储空间大小

    stat

    显示存储空间或者对象的描述信息

    mkdir

    创建一个名字有后缀字符/的对象

    append

    将内容上传到追加类型的对象末尾

    cat

    将对象内容连接到标准输出

    ls

    列举存储空间或者对象

    cp

    上传、下载或拷贝对象

    rm

    删除存储空间里的对象

    set-props

    设置对象的属性

    presign

    生成对象的预签名URL

    restore

    恢复冷冻状态的对象为可读状态

    revert

    将对象恢复成指定的版本

    sync

    将本地文件目录或者对象从源端同步到目的端

    hash

    计算文件/对象的哈希值

  • API级命令:提供了API操作的直接访问,支持该接口的配置参数。

    命令名

    含义

    put-bucket-acl

    设置、修改Bucket的访问权限

    get-bucket-acl

    获取访问权限

    ....

    put-bucket-cors

    设置跨域资源共享规则

    get-bucket-cors

    获取跨域资源共享规则

    delete-bucket-cors

    删除跨域资源共享规则

    ...

  • 辅助命令:例如配置文件的配置、额外的帮助主题等。

    命令名

    含义

    help

    获取帮助信息

    config

    创建配置文件用以存储配置项和访问凭证

    version

    显示版本信息

    probe

    探测命令

命令行选项

ossutil 2.0中的命令行选项分为全局命令行选项和局部命令行选项。全局命令行选项适用于所有命令,局部命令行选项仅适用于特定的命令。命令行选项的优先级最高,可以覆盖配置文件设置或环境变量设置的参数。

查询命令行选项

执行以下命令查询命令行选项:

ossutil cp -h

输出内容如下:

Flags:
      --acl string                         The access control list (ACL) of the object, valid value(s): "private","public-read","public-read-write","default"
      --bandwidth-limit SizeSuffix         Bandwidth limit in B/s, or use suffix B|K|M|G|T|P
      --bigfile-threshold SizeSuffix       The threshold of file size, the file size larger than the threshold will use multipart upload, download or copy, or use suffix B|K|M|G|T|P (default 100Mi)
      --cache-control string               The caching behavior of the web page when the object is downloaded
      --checkers int                       Number of checkers to run in parallel (default 16)
      --checkpoint-dir string              The specified directory for breakpoint continuation information
      --checksum                           Only copy the source file with different size and checksum(if available)
      --content-disposition string         The method that is used to access the object
      --content-encoding string            The method that is used to encode the object
      --content-type string                The mime type of object
      --copy-props string                  Determines which properties are copied from the source object, valid value(s): "none","metadata","default"
  -d, --dirs                               Return matching subdirectory names instead of contents of the subdirectory
      --encoding-type string               The encoding type of object name or file name that user inputs, valid value(s): "url"
      --end-with string                    The name of the object from which the list operation ends, include
      --exclude stringArray                Exclude files matching pattern
      --exclude-from stringArray           Read exclude patterns from file
      --expires string                     The expiration time of the cache in UTC
      --files-from stringArray             Read list of source-file names from file, ignores blank and comment line
      --files-from-raw stringArray         Read list of source-file names from file without any processing of lines
      --filter stringArray                 A file-filtering rule
      --filter-from stringArray            Read file filtering rules from a file
  -f, --force                              Operate silently without asking user to confirm the operation
      --ignore-existing                    Skip all files that already exist on destination
      --include stringArray                Don't exclude files matching pattern
      --include-from stringArray           Read include patterns from file
  -j, --job int                            Amount of concurrency tasks between multi-files (default 3)
      --list-objects                       Use ListObjects instead of ListObjectsV2 to list objects
      --max-age Duration                   Don't transfer any file older than this, in s or suffix ms|s|m|h|d|w|M|y (default off)
      --max-mtime Time                     Don't transfer any file younger than this, UTC time format (default off)
      --max-size SizeSuffix                Don't transfer any file larger than size, in B or suffix B|K|M|G|T|P, 1K(KiB)=1024B
      --metadata strings                   Specifies the object's user metadata, in key=value foramt
      --metadata-directive string          The method that is used to configure the metadata of the destination object, valid value(s): "COPY","REPLACE"
      --metadata-exclude stringArray       Exclude metadata matching pattern
      --metadata-filter stringArray        A metadata-filtering rule
      --metadata-filter-from stringArray   Read metadata filtering rules from a file
      --metadata-include stringArray       Don't exclude metadata matching pattern
      --min-age Duration                   Don't transfer any file younger than this, in s or suffix ms|s|m|h|d|w|M|y (default off)
      --min-mtime Time                     Don't transfer any file older than this, UTC time format (default off)
      --min-size SizeSuffix                Don't transfer any file smaller than size, in B or suffix B|K|M|G|T|P, 1K(KiB)=1024B
      --no-error-report                    Don't generate error report file during batch operation
      --no-progress                        The progress is not displayed
      --output-dir string                  Specifies the directory to place output file in, output file contains: error report file generated during batch operation (default "ossutil_output")
      --page-size int                      The number of results to return in each response to a list operation (default 1000), in the range 1 - 1000
      --parallel int                       Amount of concurrency tasks when work with a file
      --part-size SizeSuffix               The part size, calculated the suitable size according to file size by default, or use suffix B|K|M|G|T|P, in the range 100Ki - 5Gi
  -r, --recursive                          Operate recursively, if the option is specified, the command will operate on all match objects under the bucket, else operate on the single object.
      --request-payer string               The payer of the request. set this value if you want pay for requester, valid value(s): "requester"
      --size-only                          Only copy the source file with different size
      --start-after string                 The name of the object from which the list operation starts, not include
      --storage-class string               The storage class of the object, valid value(s): "Standard","IA","Archive","ColdArchive","DeepColdArchive"
      --tagging strings                    Specifies the tag of the destination object, in key=value foramt
      --tagging-directive string           The method that is used to configure tags for the destination object, valid value(s): "COPY","REPLACE"
  -u, --update                             Only copy when the source file is newer than the destination file

Global Flags:
  -i, --access-key-id string        AccessKeyID while access oss
  -k, --access-key-secret string    AccessKeySecret while access oss
      --addressing-style string     The style in which to address endpoints (default "virtual"), valid value(s): "virtual","path","cname"
      --cloudbox-id string          The Id of the cloud box. It is applicable to cloud box scenarios
  -c, --config-file string          The path of the configuration file (default "~/.ossutilconfig")
      --connect-timeout int         The client connection timed out, the unit is: s (default 10)
  -n, --dry-run                     Do a trial run with no permanent changes
  -e, --endpoint string             The domain names that other services can use to access OSS.
  -h, --help                        help for the command
      --language string             The display text language
      --log-file string             Specifies the log output file. When -, outputs to Stdout
      --loglevel string             The debug message level (default "off"), valid value(s): "off","info","debug"
      --mode string                 Specifies the authentication mode, valid value(s): "AK","StsToken","EcsRamRole","Anonymous"
      --output-format string        The formatting style for command output (default "raw")
      --output-properties strings   The properties of output format
      --output-query string         A JMESPath query to use in filtering the response data
      --profile string              Specific profile from your config file.
      --proxy string                Specifies the proxy server. When 'env', use HTTP_PROXY and HTTPS_PROXY environment variables
  -q, --quiet                       Quiet mode, print as little stuff as possible
      --read-timeout int            The client read timed out, the unit is: s (default 20)
      --region string               The region in which the bucket is located.
      --retry-times int             Retry times when fail (default 10)
      --role-arn string             Specifies the ARN of role
      --role-session-name string    Specifies the session name
      --sign-version string         The version of the signature algorithm (default "v4"), valid value(s): "v1","v4"
      --skip-verify-cert            Specifies that the oss server's digital certificate file will not be verified
  -t, --sts-token string            STSToken while access oss

使用命令行选项

在命令行操作中,部分命令需要附加参数以指定操作对象或设置选项,而其他命令则不需要参数。对于带参数的命令,您可以根据具体要求提供适当的参数值,以实现预期的功能,例如,带参数的命令如:

ossutil ls --profile dev

ossutil ls --profile dev允许用户通过参数值dev指定特定的配置文件。带参数的选项通常需要通过空格或等号(=)将选项名称与参数值分隔,例如--profile dev--profile=dev。当参数值包含空格时,必须使用双引号将整个参数值括起来,以确保命令正确解析,例如 --description "OSS bucket list"

支持的全局命令行选项

参数

类型

说明

-i, --access-key-id

string

访问OSS使用的AccessKey ID。

-k, --access-key-secret

string

访问OSS使用的AccessKey Secret。

--addressing-style

string

请求地址的格式。取值范围如下:

  • virtual(默认值),表示虚拟托管模式。

  • path,表示路径模式。

  • cname,表示自定义域名模式。

-c, --config-file

string

配置文件的路径。 默认值为~\\.ossutilconfig

--connect-timeout

int

客户端连接超时的时间。单位为秒,默认值为10。

-n, --dry-run

/

在不进行任何更改的情况下执行试运行。

-e, --endpoint

string

对外服务的访问域名。

-h, --help

/

显示帮助信息。

--language

string

显示的语言。

--loglevel

string

日志级别。取值范围如下:

  • off(默认值)

  • info

  • debug

--mode

string

鉴权模式。取值:

  • AK,表示访问密钥。

  • StsToken,表示临时安全凭证。

  • EcsRamRole,表示使用ECS实例角色(RAM Role)进行鉴权。

  • Anonymous,表示匿名访问。

--output-format

string

输出格式,默认值为raw。

--output-query

string

JMESPath查询条件。

--profile

string

指定配置文件里的profile。

-q, --quiet

/

安静模式,打印尽可能少的信息。

--read-timeout

int

客户端读写请求超时时间。单位为秒,默认值为20。

--region

string

数据中心所在的地域,配置值可设置为cn-hangzhou。

--retry-times

int

当错误发生时的重试次数。默认值为10。

--sign-version

string

请求使用的签名算法版本。取值:

  • v1

  • v4(默认值)

--skip-verify-cert

/

表示不校验服务端的数字证书。

-t, --sts-token

string

访问OSS使用的STS Token。

--proxy

string

指定代理服务器,

配置值可以为以下几种:

  • 直接配置:可以直接指定代理服务器的详细信息,例如:

    • http://proxy.example.com:8080

    • https://proxy.example.com:8443

  • env:表示使用环境变量 HTTP_PROXY 和 HTTPS_PROXY 来获取代理服务器信息。用户需要在操作系统中配置这两个环境变量,例如:

    • HTTP_PROXY=http://proxy.example.com:8080

    • HTTPS_PROXY=https://proxy.example.com:8443

    配置这些环境变量后,将代理服务器选项的值设置为 env,系统将自动使用这些环境变量中的代理设置。

--log-file

string

指定日志输出文件,配置值为:

  • -:表示将日志输出到标准输出(Stdout)。

  • 文件路径:指定一个具体的文件路径,将日志输出到该文件。

如果未指定日志输出文件,输出到默认配置文件上。

--cloudbox-id 

string

云盒ID,应用于云盒场景

命令选项类型

选项类型

选项

说明

字符串

--option string

  • 字符串参数可以包含ASCII字符集中的字母及数字字符、符号和空格。

  • 如果字符串中包含空格,需要使用引号包括。

例如:--acl private。

布尔值

--option

打开或关闭某一选项。

例如:--dry-run。

整数

--option Int

无符号整数。

例如:--read-timeout 10。

时间戳

--option Time

ISO 8601格式,即DateTimeDate。

例如:--max-mtime 2006-01-02T15:04:05。

字节单位后缀

--option SizeSuffix

默认单位是字节(B),也可以使用单位后缀形式,支持的单位后缀为:K(KiB)=1024字节、M(MiB)、G(GiB)、G(GiB)、T(TiB)、P(PiB)、E(EiB)

例如:最小size1024字节

--min-size 1024

--min-size 1K

时间单位后缀

--option Duration

时间单位,默认单位是秒。支持的单位后缀为:ms 毫秒,s 秒,m 分钟,h 小时,d 天,w 星期,M 月,y 年。

支持小数。例如:1.5

--min-age 1.5d

字符串列表

--option strings

支持单个或者多个同名选项,支持以逗号(,)分隔的多个值。

支持多选项输入的单值。

例如:--metadata user=jack,email=ja**@test.com --metadata address=china

字符串数组

--option stringArray

支持单个或者多个同名选项,只支持多选项输入的单值。

例如 :--include *.jpg --include *.txt。

从非命令行中加载数据

一般情况下,参数的值都放在命令行里,当参数值比较复杂时,需要从文件加载参数值;当需要串联多个命令操作时,需要标准输中加载参数值。所以,对需要支持多种加载参数值的参数,做了如下约定:

  • file://开始的,表示从文件路径中加载。

  • 当参数值为-时,表示从标准输入中加载。

例如, 设置存储空间的跨域设置,以JSON参数格式为例,通过文件方式加载跨域参数。cors-configuration.json文件如下:

{
  "CORSRule": {
    "AllowedOrigin": ["www.aliyun.com"],
    "AllowedMethod": ["PUT","GET"],
    "MaxAgeSeconds": 10000
  }
}
aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration file://cors-configuration.json

通过选项参数值加载跨域参数,cors-configuration.json的紧凑形式如下:

{"CORSRule":{"AllowedOrigin":["www.aliyun.com"],"AllowedMethod":["PUT","GET"],"MaxAgeSeconds":10000}}
aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration  "{\"CORSRule\":{\"AllowedOrigin\":[\"www.aliyun.com\"],\"AllowedMethod\":[\"PUT\",\"GET\"],\"MaxAgeSeconds\":10000}}"

从标准输入加载参数的示例如下:

cat cors-configuration.json | aliyun ossutil api put-bucket-cors --bucket examplebucket --cors-configuration -

控制命令输出

输出格式

ossutil api下的子命令,以及du、stat、ls命令,支持通过--output-format参数调整其输出格式,当前支持的格式如下:

格式名称

说明

raw

以原始方式输出,即服务端返回什么内容,则输出什么内容。

json

输出采用JSON字符串的格式。

yaml

输出采用YAML字符串的格式。

例如:以get-bucket-cors为例,原始内容如下:

aliyun ossutil api get-bucket-cors --bucket bucketexample
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration>
  <CORSRule>
    <AllowedOrigin>www.aliyun.com</AllowedOrigin>
    <AllowedMethod>PUT</AllowedMethod>
    <AllowedMethod>GET</AllowedMethod>
    <MaxAgeSeconds>10000</MaxAgeSeconds>
  </CORSRule>
  <ResponseVary>false</ResponseVary>
</CORSConfiguration>

转成JSON如下:

aliyun ossutil api get-bucket-cors --bucket bucketexample --output-format json
{
  "CORSRule": {
    "AllowedMethod": [
      "PUT",
      "GET"
    ],
    "AllowedOrigin": "www.aliyun.com",
    "MaxAgeSeconds": "10000"
  },
  "ResponseVary": "false"
}

筛选输出

ossutil提供了基于JSON的内置客户端筛选功能,通过--output-query value选项使用。

说明

该选项仅支持ossutil api下的子命令。

该功能基于JMESPath语法,当使用该功能时,会把返回的内容转成JSON,然后再使用JMESPath进行筛查,最后按照指定的输出格式输出。有关JMESPath 语法的说明,请参见JMESPath Specification

例如:以get-bucket-cors为例,只输出AllowedMethod内容,示例如下:

aliyun ossutil api get-bucket-cors --bucket bucketexample --output-query CORSRule.AllowedMethod --output-format json
[
  "PUT",
  "GET"
]

友好显示

对于高级命令(du、stat),提供了--human-readable选项,对字节、数量数据,提供了以人类可读方式输出信息。即字节数据转成Ki|Mi|Gi|Ti|Pi后缀格式(1024 base),数量数据转成k|m|g|t|p后缀格式(1000 base)。

例如:原始模式

aliyun ossutil stat oss://bucketexample
ACL                         : private
AccessMonitor               : Disabled
ArchiveObjectCount          : 2
ArchiveRealStorage          : 10
ArchiveStorage              : 131072
...
StandardObjectCount         : 119212
StandardStorage             : 66756852803
Storage                     : 66756852813
StorageClass                : Standard
TransferAcceleration        : Disabled

友好模式

aliyun ossutil stat oss://bucketexample --human-readable
ACL                         : private
AccessMonitor               : Disabled
ArchiveObjectCount          : 2
ArchiveRealStorage          : 10
ArchiveStorage              : 131.072k
...
StandardObjectCount         : 119.212k
StandardStorage             : 66.757G
Storage                     : 66.757G
StorageClass                : Standard
TransferAcceleration        : Disabled

命令返回码

通过进程等方式调用ossutil时,无法实时查看回显信息。ossutil支持在进程运行结束后,根据不同的运行结果生成不同的返回码,具体的返回码及其含如下。您可以通过以下方式获取最近一次运行结果的返回码,然后根据返回码分析并处理问题。

Linux

执行命令获取返回码:echo $?

Windows

执行命令获取返回码:echo %errorlevel%

macOS

执行命令获取返回码:echo $?

返回码

含义

0

命令操作成功,发送到服务端的请求执行正常,服务端返回200响应。

1

参数错误,例如缺少必需的子命令或参数,或使用了未知的命令或参数。

2

该命令已成功解析,并已对指定服务发出了请求,但该服务返回了错误(非2xx响应)。

3

调用OSS GO SDK时,遇到的非服务端错误。

4

批量操作时,例如cp、rm部分请求发生了错误。

5

中断错误。命令执行过程中,您通过ctrl+c取消了某个命令。

操作示例

  • 示例1:上传本地文件upload.rarbucket存储空间中,上传速度为20 MB/s,默认单位为字节每秒(B/s)。

    aliyun ossutil cp D:\\upload.rar oss://bucket/ --bandwidth-limit 20971520
  • 示例2:上传本地文件file.rarbucket存储空间中,上传速度为50 MB/s,指定单位为兆字节每秒(MB/s)。

    aliyun ossutil cp D:\\file.rar oss://bucket/dir -r --bandwidth-limit 50M
  • 示例3:将bucket存储空间中的download.rar文件下载到当前目录,并将下载速度限制为20 MB/s。

    aliyun ossutil cp oss://bucket/download.rar . --bandwidth-limit 20971520

旧版本

命令结构

aliyun oss [command] [args...] [options...]

命令列表

名称

描述

access-monitor

配置存储空间(Bucket)的访问跟踪状态。

appendfromfile

用于在已上传的追加类型文件(Appendable Object)末尾直接追加内容。

bucket-cname

查看BucketCNAME配置。

bucket-encryption

添加、修改、查询、删除Bucket的加密配置。

bucket-policy

添加、修改、查询、删除BucketBucket policy配置。

bucket-tagging

添加、修改、查询、删除Bucket的标签配置。

bucket-versioning

添加或查询Bucket的版本控制配置。

cat

将文件内容输出到ossutil。

config

创建配置文件来存储OSS访问信息。

cors

添加、修改、查询、删除BucketCORS配置。

cors-options

用于测试Bucket是否允许指定的跨域访问请求。

cp

用于上传、下载、拷贝文件。

create-symlink

创建符号链接(软链接)。

du

用于获取指定Bucket、指定Object或文件目录所占的存储空间大小。

getallpartsize

获取Bucket内所有未完成上传的Multipart任务的每个分片大小以及分片总大小。

hash

用于计算本地文件的CRC64MD5。

help

获取命令的帮助信息。当您不清楚某个命令的用法时,建议您使用help命令获取该命令的帮助信息。

inventory

命令用于添加、查询、列举、删除Bucket的清单规则。

lifecycle

命令用于添加、修改、查询、删除生命周期规则配置。

listpart

列出没有完成分片上传的Object的分片信息。

logging

添加、修改、查询、删除Bucket的日志管理配置。

lrb

列举单个或多个地域(Region)下Bucket的基本信息。

ls

列举Bucket、ObjectPart。

mb

创建Bucket。

mkdir

Bucket内创建文件目录。

object-tagging

添加、修改、查询或删除Object的标签配置。

probe

针对OSS访问的检测命令,可用于排查上传、下载过程中因网络故障或基本参数设置错误导致的问题。

read-symlink

读取符号链接(软链接)文件的描述信息。

referer

添加、修改、查询、删除Bucket的防盗链配置。

replication

管理Bucket的跨区域复制规则配置。

request-payment

设置或查询Bucket的请求者付费模式配置。

resource-group

为存储空间(Bucket)配置所属资源组以及获取资源组信息。

restore

恢复冷冻状态的Object为可读状态。

revert-versioning

将已删除的Object恢复至最近的版本。

rm

删除Bucket、ObjectPart。

set-acl

设置BucketObject的访问权限(ACL)。

set-meta

设置已上传Object的元数据。

sign

用于生成经过签名的文件URL,并将签名URL分享给第三方供其下载或预览。

stat

获取指定BucketObject的描述信息。

style

设置图片样式。

sync

用于同步本地文件到OSS、同步OSS文件到本地、在OSS之间同步文件。

update

用于更新ossutil版本。

website

用于添加、修改、查询、删除Bucket的静态网站托管配置、重定向配置、镜像回源配置。

worm

管理Bucket的合规保留策略。

命令示例

  • 示例1:创建一个命名为vmeixme的存储空间(Bucket),并设定Bucket的存储类型为Standard

    aliyun oss mb oss://vmeixme --storage-class Standard
  • 示例2:在Bucket内创建一个命名为horse的文件目录。

    aliyun oss mkdir oss://vmeixme/horse/
  • 示例3:列举您账号下的OSS资源,包括存储空间(Bucket)、对象(Object)和碎片(Part)信息,并设定返回结果的最大个数为20。

    aliyun oss ls --limited-num 20

常见问题

如您在使用ossutil时发现异常,可参考以下文档进行错误排查。