×

帮助中心

常见问题
域名类
•  域名介绍
•  注册/续费
•  域名管理
•  域名过户
•  域名转移
•  增值服务
•  域名交易
•  通用网址
•  产品更新日志
邮局类
•  产品简介
•  产品管理
•  邮件客户端
•  邮箱用户操作指南
•  邮箱管理员操作指南
•  产品使用手册
•  代理商控制台操作指南
•  产品更新日志
云虚机类
•  购买与升级
•  FTP
•  主机管理
•  技术问题
•  数据库
•  产品更新日志
ECS云主机类
•  产品更新日志
会员类
•  会员注册
•  信息修改
•  忘记密码
•  账户实名认证
•  产品更新日志
财务类
•  后付费计费
•  在线支付
•  线下汇款
•  发票问题
•  汇款单招领
•  退款问题
•  充值业务
•  产品更新日志
ICP备案
•  备案问题快速咨询通道
•  备案介绍
•  备案账号
•  ICP备案前准备内容
•  ICP备案流程
•  ICP备案操作指导
•  ICP备案信息查看
•  备案合规核查要求
•  资料下载
•  公安联网备案与经营性备案
•  各地管局备案通知
•  常见问题
服务类
•  ICP备案
•  小新服务
•  产品更新日志
网站定制类
•  网站定制问题
•  网站访问问题
新办公类
•  常见问题
•  操作手册下载
云推送
•  云推送常见问题
速成建站
•  网站访问问题
•  网站使用问题
•  产品更新日志
SSL证书
•  SSL证书常见问题
•  产品更新日志
新网云产品类
•  新网云WEB应用防火墙
•  新网云DDoS防护
•  云数据库
•  云产品运维
•  内容分发网络CDN
•  对象存储 S3
•  网络
资料下载
新手上路

S3CLI 命令行工具

  • 作者:
  • 文章来源:新网
  • 点击数:0
  • 更新时间:2024-03-27 09:56:46

S3CLI 命令行工具:


S3CLI 是一款通过命令行操作对 S3 进行数据管理的工具,支持丰富的存储空间(bucket)以及对象(object)操作,支持Windows、Linux、Mac平台。

通过本工具,您可以进行以下操作: 存储空间(bucket):创建、删除、查看存储量、查看存储空间列表等。 对象(object):上传、下载、删除、移动、拉列表、计算 etag 等。

另外,本工具提供丰富的批量操作:上传,下载,删除,拷贝(不同存储空间之间),移动(同一存储空间内),数据取回等。


软件版本:1.7.2


运行环境:Windows(x86 32/64位);Linux(x86 32/64位,arm 32/64位);Mac(64位)



下载地址:



1、Windows:us3cli-windows.exe

2、Linux

x86架构:us3cli-linux32us3cli-linux64

arm架构:us3cli-arm32us3cli-arm64

3、Mac:us3cli-mac


Linux环境(Linux 64位版本)准备:


1、下载工具至本地。

2、添加可执行权限。

chmod +x us3cli-linux64CopyErrorSuccess

3、开始创建配置。

./us3cli-linux64 configCopyErrorSuccess

Windows环境准备:

1、下载工具至本地。

2、以管理员身份打开cmd面板,切换到us3cli-windows.exe文件所在路径。

3、执行config命令创建配置。

us3cli-windows.exe configCopyErrorSuccess

注意事项:

1、请使用管理员身份打开cmd命令行。

2、下载后请不要直接点击执行us3cli-windows.exe文件,该工具需要使用命令行工具打开执行。

3、如果点击下载无反应,请右键单击复制链接地址,输入到浏览器地址输入框打开。

Mac环境准备:

1.下载工具至本地。

2.添加可执行权限。

chmod +x us3cli-macCopyErrorSuccess

3.开始创建配置。

./us3cli-mac config






快速上手:

1、常用配置

命令格式:

us3cli config [--ls][--su <配置名>][--rm <配置名>][--cat <配置名>][--encrypt][--ssl][--proxy [代理地址]] [--accesskey <API/Token公钥>][--secretkey <API/Token私钥>][--endpoint <访问域名>] [--language <ZH/EN]CopyErrorSuccess

常用配置创建方式分为两种:交互式配置和一键配置,命令格式相同,使用方式不同


1.1、配置项创建


交互式配置:

使用示例:

#./us3cli config请输入语言(Please enter the language): ZH/EN, 默认为ZH(default is ZH) :ZH请输入当前配置项名称: config1开始创建新配置项:[ config1 ]是否启用配置加密(y or n) ? n请输入API/Token公钥[当前:]: xxxxxxxxxxxxxxxxxxxxxx请输入API/Token私钥[当前:]: xxxxxxxxxxxxxxxxxxxxxx地区列表:No. RegionName Region 0 北京 cn-bj 1 上海二 cn-sh2 2 广州 cn-gd 3 香港 hk 4 洛杉矶 us-ca 5 新加坡 sg 6 雅加达 idn-jakarta 7 台北 tw-tp 8 拉各斯 afr-nigeria 9 圣保罗 bra-saopaulo10 迪拜 uae-dubai 11 法兰克福 ge-fra 12 胡志明市 vn-sng 13 华盛顿 us-ws 14 孟买 ind-mumbai 15 首尔 kr-seoul16 东京 jpn-tky17 曼谷 th-bkk18 华北二 cn-wlcb19 英国 uk-london 请输入region编号: 0内外网列表:No. Network0 外网 1 内网 请选择或输入内外网编号:0您选择的endpoint是:[cn-bj.ufileos.com],[当前:],请输入回车确认或自定义endponit:当前最终配置:ConfigName: config1AccessKey: xxxxxxxxxxxxxxxxxxxxxxSecretKey: xxxxxxxxxxxxxxxxxxxxxxEndpoint: cn-bj.ufileos.com请检查后输入回车确认:是否启用HTTPS (y or n) ? n是否启用代理(y or n):n配置文件 [ config1 ] 已修改是否使用该配置作为默认配置(当前默认配置为:< config >)(y or n)?CopyErrorSuccess


一键配置:

使用示例:

./us3cli config config1 --accesskey TOKEN_13be86********* --secretkey BAtrQO8LYdgve1HS_benbK-MXNTl3********** --endpoint cn-bj.ufileos.com --language ZHCopyErrorSuccess

1.2、配置项管理

#切换默认配置./us3cli config --su config1#删除指定配置(只支持指定配置项名称删除,不支持指定路径)./us3cli config --rm config1#配置项内容查看,包含accesskey、secretkey、endpoint./us3cli config --cat config1#查看当前所有配置项列表,默认配置会标明 "(default)",Authority表示当前配置是Token密钥类型还是API密钥类型(只判断类型,不进行权限验证)./us3cli config --lsCopyErrorSuccess


2、临时配置

临时配置可以通过配置名、配置文件路径、配置项内容使用,具体示例如下:

#1.通过配置名指定临时配置./us3cli ls us3://bucket1 --config config2#2.通过配置文件路径指定临时配置./us3cli ls us3://bucket1 --config ~/go/src/userconfig.yaml#3.通过配置项内容直接指定临时配置./us3cli ls us3://bucket1 --accesskey "xxxxxx" --secretkey "xxxxxx" --endpoint "xxxxxx"CopyErrorSuccess

注:当前版本支持自定义配置文件,但只支持与工具自动生成配置文件内容相同的配置文件

自定义配置文件内容如下,具体填写说明见常用命令页config命令介绍

accesskey: "user accesskey"secretkey: "user secretkey"endpoint: "ufile.cn-north-02.ucloud.cn"encrypt: "false"enablessl: "false"proxy: "http://ip:port or https://ip:port"language: "ZH"CopyErrorSuccess


3、建存储空间

3.1、交互式创建

命令格式:us3cli mb us3://<bucketname> 使用示例:# ./us3cli mb us3://bucketTest请输入要创建bucket的权限类型acl(private/public,默认为private):private 地区列表:No. RegionName Region 0 北京 cn-bj 1 上海二 cn-sh2 2 广州 cn-gd 3 香港 hk 4 洛杉矶 us-ca 5 新加坡 sg 6 雅加达 idn-jakarta 7 台北 tw-tp 8 拉各斯 afr-nigeria 9 圣保罗 bra-saopaulo10 迪拜 uae-dubai 11 法兰克福 ge-fra 12 胡志明市 vn-sng 13 华盛顿 us-ws 14 孟买 ind-mumbai 15 首尔 kr-seoul16 东京 jpn-tky17 曼谷 th-bkk18 华北二 cn-wlcb19 英国 uk-london 请输入要创建bucket地区编号或地区代码(默认为北京:cn-bj):0Region: cn-bj当前账号下项目信息如下:No. ProjectName ProjectId 1 Default org-orcwsj请输入要创建bucket的项目编号:1Number: 1ProjectID: org-orcwsj2020-11-24 17:52:56.973 INFO Make bucket [ bucketTest ] successCopyErrorSuccess

3.2、一键创建

#命令格式:us3cli mb us3://<bucketname> --projectid <projectid> --region <region> --acl <acl> #使用示例:./us3cli mb us3://buckettest --projectid org-test --region cn-bj --acl publicCopyErrorSuccess


4、上传文件或文件夹

4.1、上传单个文件

#命令格式:#普通文件us3cli cp <local filename> us3://<bucketname>/<us3key> #流式文件us3cli rcat us3://<bucketname>/<us3key> #使用示例:#普通上传文件,不指定任何参数./us3cli cp ./test.txt us3://buckettest/test.txt#指定存储类型为IA上传 (不区分大小写)./us3cli cp ./test.txt us3://buckettest/test.txt --storageclass IA#指定并发数,设置并发数为10(文件大于64MB时才会有效果,因为64MB以上大文件才会使用分片上传)./us3cli cp ./test.txt us3://buckettest/test.txt --parallel 10#将本地文件test.txt cat到标准输入,再上传至us3存储空间内cat test.txt | ./us3cli rcat us3://buckettest/test.txt#流式上传并指定失败重试次数为10,设置并发数为10cat test.txt | ./us3cli rcat us3://buckettest/test.txt --retrycount 10 --parallel 10CopyErrorSuccess

4.2、上传文件夹

#命令格式:us3cli cp -r <localdir> us3://<bucketname>/<us3key> #使用示例:#普通上传文件夹./us3cli cp -r ./testdir us3://buckettest/us3dir#上传后缀名为“.txt"的文件./us3cli cp -r ./testdir us3://buckettest/us3dir --include "*txt"#上传文件名不包含test的文件./us3cli cp -r ./testdir us3://buckettest/us3dir --exclude "*test*"#上传文件夹并进行完整性校验./us3cli cp -r ./testdir us3://buckettest/us3dir --checkCopyErrorSuccess

4.3、增量上传文件夹

增量上传文件夹:对比本地文件夹和us3对应的文件夹,忽略已上传的文件,将未上传过的文件上传到us3文件夹内

#命令格式:us3cli sync <localdir> us3://<bucketname>/<us3key> #使用示例:#遍历本地文件夹,以本地缓存为标准进行同步,如果文件修改时间晚于本地缓存保存的时间,或者未保存过,则上传文件,否则跳过./us3cli sync ./testdir us3://buckettest/us3dir#遍历本地文件夹,以本地缓存为标准进行同步,如果文件etag和本地缓存保存的etag不同,则上传文件,否则跳过./us3cli sync ./testdir us3://buckettest/us3dir --ruler etag#遍历本地文件夹,对比本地和us3所有文件,如果文件修改时间晚于us3文件的修改时间,则上传文件,否则跳过#如果存在文件在us3的目录下存在,但在本地不存在,则删除us3中的该文件(该删除操作会默认询问,目前不提供强制删除功能)./us3cli sync ./testdir us3://buckettest/us3dir --mode local#遍历本地文件夹,对比本地和us3所有文件,如果文件etag和us3同一文件的etag不同,则上传文件,否则跳过./us3cli sync ./testdir us3://buckettest/us3dir --mode local --ruler etag#增量上传并指定存储类型为低频类型./us3cli sync ./testdir us3://buckettest/us3dir --storageclass ”IA“#增量上传并指定mimetype./us3cli sync ./testdir us3://buckettest/us3dir --mimetype "mimetype1"CopyErrorSuccess


5、下载文件或文件夹

5.1、下载单个文件

#命令格式:#普通下载us3cli cp us3://<bucketname>/<us3key> <local filename> #流式下载us3cli cat us3://<bucketname>/<us3key> #使用示例:#普通下载单个文件./us3cli cp us3://buckettest/test.txt ./test.txt#下载文件,每个分片大小指定为8M(不区分大小写,并且默认大小为4M,最小值为4M)./us3cli cp us3://buckettest/test.txt ./test.txt --partsize 4M#流式文件下载(文件会写入到标准输入)./us3cli cat us3://buckettest/test.txt#流式下载并指定并发数,重试次数为10./us3cli cat us3://buckettest/test.txt --parallel 10 --retrycount 10CopyErrorSuccess

5.2、下载文件夹

#命令格式:us3cli cp -r us3://<bucketname>/<us3key> <localdir> #使用示例:#普通下载文件夹./us3cli cp -r us3://buckettest/us3dir ./testdir#下载文件夹并指定并发数为20./us3cli cp -r us3://buckettest/us3dir ./testdir --parallel 20#下载文件夹并限速为100MB/s./us3cli cp -r us3://buckettest/us3dir ./testdir --speedlimit 100MBCopyErrorSuccess


6、拷贝文件或文件夹

#命令格式us3cli cp us3://<bucketname>/<us3key> #使用示例#将文件从bucket1拷贝至bucket2中(两个bucket必须在同一地域中,如需要不同地域的数据复制,则需要使用跨区域复制功能)./us3cli cp us3://bucket1/test.txt us3://bucket2/test.txt#将文件夹从bucket1拷贝到bucket2中./us3cli cp -r us3://bucket1/test us3://bucket2/test#将bucket1中test文件夹中以".txt"结尾的文件拷贝到bucket2的test文件夹中./us3cli cp -r us3://bucket1/test us3://bucket2/test --include "*.txt"CopyErrorSuccess


7、删除文件或文件夹

7.1、删除单个文件

#命令格式:us3cli rm us3://<bucketname>/<us3key> #使用示例:#删除文件./us3cli rm us3://buckettest/test.txt#强制删除./us3cli rm -f us3://buckettest/test.txtCopyErrorSuccess

7.2、删除文件夹

#命令格式:us3cli rm -r us3://<bucketname>/<us3key> #使用示例:#删除文件夹./us3cli rm -r us3://buckettest/test#强制删除整个test文件夹./us3cli rm -r -f us3://buckettest/test#删除test文件夹下不含有test的文件./us3cli rm -r -f us3://buckettest/test --exclude "*test*"#设置并发数为10,强制清空当前buckettest存储空间./us3cli rm -r -f us3://buckettest --parallel 10 #删除文件夹,限制请求数量为每秒10个./us3cli rm -r -f us3://buckettest/test --qps 10CopyErrorSuccess


8、查询文件基本信息

#命令格式us3cli stat us3://<bucketname>/<us3key> #使用示例./us3cli stat us3://buckettest/test.txtCopyErrorSuccess


9、获取文件列表

#命令格式us3cli ls us3://<bucketname>[/us3key]#使用示例./us3cli ls us3://buckettest#拉取buckettest中的文件,只显示10个./us3cli ls us3://buckettest --limit 10#拉取buckettest中的文件,并以非目录形式展示#非目录形式:目录下所有的文件都显示完整路径,子目录下的文件也会列出./us3cli ls us3://buckettest --flat#列取buckettest中的文件,并展示是否已取回,以及取回时间#数据取回:指归档类型的数据短暂激活,可以下载./us3cli ls us3://buckettest --restoreCopyErrorSuccess


10、文件基本信息修改

#命令格式us3cli modify us3://<bucketname>/us3key#使用示例#修改文件mimetype为xxx/yyy./us3cli modify us3://buckettest/test.txt --mimetype xxx/yyy#为文件增加metadata key为 "name" value为 "us3cli"./us3cli modify us3://buckettest/test.txt --metadata name=us3cli#清空当前文件的metadata./us3cli modify us3://buckettest/test.txt --metadata "" --replace#修改文件的存储类型为ARCHIVE(归档类型)./us3cli modify us3://buckettest/test.txt --storageclass ARCHIVE






常用命令:

操作命令描述
配置管理config管理上传所需的公私钥及endpoint等信息,包括配置项的创建、修改、删除、更新、切换
创建存储空间mb创建存储空间
删除存储空间rb删除存储空间(存储空间为空)
查看存储空间信息stat查看bucket的元数据信息
查看存储量du查看bucket的存储量(标准、低频、归档)
普通上传cp将本地文件或目录上传到存储空间中
增量上传sync增量上传目录到存储空间中
流式上传rcat将流式文件上传到存储空间中
创建目录mkdir在us3存储空间中创建一个空目录
普通下载cp将存储空间中的文件或目录下载到本地
流式下载cat将存储空间中的数据下载并写入到标准输入中
拷贝cp将一个存储空间中的文件拷贝到另一个存储空间中(同一地域)
移动mv将文件或目录移动到其他目录下(同一存储空间内)
删除rm删除存储空间中的文件或目录
列表ls列出US3存储空间列表或US3存储空间中的文件列表
获取下载URLsign获取存储空间中文件的下载链接
查看元数据stat查看存储空间中文件的元数据信息
修改元数据modify修改存储空间中文件的存储类型、MIMETYPE、MetaData
归档数据取回restore将归档类型的文件激活为可下载状态
数据完整性校验etag查看本地文件、标准输出、US3存储空间的文件etag
创建tokencreate-token创建一个用于操作US3的token
删除tokendelete-token删除一个用于操作US3的token
更新tokenupdate-token更新一个用于操作US3的token
描述tokendescribe-token列取并描述操作US3的token
版本更新update更新工具版本
版本特性version查看工具版本特性

config

config命令用于管理配置文件。

命令格式

us3cli config [--ls][--su <配置名>][--rm <配置名>][--cat <配置名>][--encrypt][--ssl][--proxy [代理地址]] [--accesskey <API/Token公钥>][--secretkey <API/Token私钥>][--endpoint <访问域名>] [--language <ZH/EN>]CopyErrorSuccess

参数说明

-a, --accesskey string :用于访问us3的API密钥或Token公钥 --cat string :打印指定配置项内容 --encrypt :是否配置加密 --language :us3cli的语言配置,ZH/EN,可选,默认为ZH中文 -e, --endpoint string :固定域名,可在地域和域名页查看 -h, --help :查看当前命令帮助 --ls :列出当前所有配置项 --proxy string :代理地址(ip:port) --rm string :删除指定配置项 -s, --secretkey string :用于访问us3的API私钥或Token私钥 --ssl :使用https --su string :切换指定配置为默认配置CopyErrorSuccess

配置文件内容说明:

配置项说明填写说明
AccessKey用于鉴权的bucket公钥API公钥 、Token公钥
SecretKey用于鉴权的bucket私钥API私钥 、Token私钥
Endpoint外网或内网域名地域和域名
encrypt是否使用配置加密false 或 true
enablessl是否使用httpsfalse 或 true
proxy代理地址“ip:port”
language工具显示语言ZH 或 EN

自定义配置文件格式,填写说明同上:

accesskey: "user accesskey"secretkey: "user secretkey"endpoint: "ufile.cn-north-02.ucloud.cn"encrypt: "false"enablessl: "false"proxy: "http://ip:port or https://ip:port"language: "EN"CopyErrorSuccess

使用示例

1.交互式配置

创建配置项

#./us3cli config请输入语言(Please enter the language): ZH/EN, 默认为ZH(default is ZH) : ZH请输入当前配置项名称: config1开始创建新配置项:[ config1 ]是否启用配置加密(y or n) ? n请输入API/Token公钥[当前:]: xxxxxxxxxxxxxxxxxxxxxx请输入API/Token私钥[当前:]: xxxxxxxxxxxxxxxxxxxxxx地区列表:No. RegionName Region 0 华北一 cn-bj 1 上海二 cn-sh2 2 广州 cn-gd 3 香港 hk 4 洛杉矶 us-ca 5 新加坡 sg 6 雅加达 idn-jakarta 7 台北 tw-tp 8 拉各斯 afr-nigeria 9 圣保罗 bra-saopaulo10 迪拜 uae-dubai 11 法兰克福 ge-fra 12 胡志明市 vn-sng 13 华盛顿 us-ws 14 孟买 ind-mumbai 15 首尔 kr-seoul16 东京 jpn-tky17 曼谷 th-bkk18 华北二 cn-wlcb19 英国 uk-london请输入region编号: 0内外网列表:No. Network0 外网 1 内网 请选择或输入内外网编号:0您选择的endpoint是:[cn-bj.ufileos.com],[当前:],请输入回车确认或自定义endponit:当前最终配置:ConfigName: config1AccessKey: xxxxxxxxxxxxxxxxxxxxxxSecretKey: xxxxxxxxxxxxxxxxxxxxxxEndpoint: cn-bj.ufileos.com请检查后输入回车确认:是否启用HTTPS (y or n) ? n是否启用代理(y or n):n配置文件 [ config1 ] 已修改是否使用该配置作为默认配置(当前默认配置为:< config >)(y or n)?CopyErrorSuccess

注意:

1.首次创建的配置文件时会自动将该配置作为默认配置

2.配置加密只加密到公私钥,并且当前配置文件只在初次创建时可选是否加密

3.填写代理地址时只需要填写“ ip:port”,客户端会根据填写的https启用状态补充需要的"https://"或“http://”头部信息


列出配置项列表

./us3cli config --lsConfigName ModTime FilePath Authority config1 (Default) 2020-09-21 14:18:50 /root/.us3cliconfig/config1 Token config2 2020-09-21 14:18:50 /root/.us3cliconfig/config2 Token us3cli 2020-09-16 10:36:00 /root/.us3cliconfig/us3cli APIKeyCopyErrorSuccess

说明:

1.Default标识表示该配置项是当前的默认配置

2.Authority表示权限分类,只用于快速区分Token和API密钥格式,不保证内容准确

切换配置项

./us3cli config --su config2CopyErrorSuccess

删除配置项

./us3cli config --rm config1CopyErrorSuccess

注意:以下所有命令的(y or n)选项规则均不区分大小写,输入yes或y表示确认,其他选项均表示取消

打印配置项

./us3cli config --cat config2ConfigName:config2AccessKey: TOKEN_13be86*********SecretKey: BAtrQO8LYdgve1HS_benbK-MXNTl3**********Endpoint: cn-bj.ufileos.comLanguage: ZHCopyErrorSuccess

2.非交互式配置

./us3cli config config3 --accesskey TOKEN_AAGASGAZVZV**** --secretkey USAsflmTAAF****** --endpoint cn-bj.ufileos.com --language ENConfiguration file [ config3 ] has been updatedCopyErrorSuccess

3.临时使用(对其他命令生效)

上传文件时临时使用配置项config3

./us3cli cp test.txt us3://bucket1 --config config3CopyErrorSuccess

上传文件时临时使用配置文件 /home/ubuntu/myconfig1

./us3cli cp test.txt us3://bucket1 --config /home/ubuntu/myconfig1CopyErrorSuccess

上传文件时使用自定义配置内容

./us3cli cp test.txt us3://bucket1 --accesskey LTAI4G3t3BTza47xxxxxxxxxx --secretkey gznFs9daMtKmUaTq9xpxxxxxxxxxxxxx --endpoint cn-bj.ufileos.comCopyErrorSuccess

mb

该命令用于创建存储空间

命令格式

us3cli mb us3://<桶名字> [--acl <权限类型>][--region <桶所在地区>][--projectid <项目ID>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 -a, --acl <string> :权限类型,可以设置为private、public,默认为private私有(不区分大小写) --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看,如:cn-bj.ufileos.com -h, --help :当前命令使用说明 --projectid <string> :项目ID,当前bucket属项目ID,默认为Default -r, --region <string> :桶所在地区,可查看地域信息,默认地区为华北一 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

本命令提供命令输入和交互式输入二选一的操作,命令输入参数,就会自动跳过交互式输入。

使用示例

交互式创建bucket

./us3cli mb us3://us3cli-test请输入要创建bucket的权限类型acl(private/public,默认为private):public地区列表:No. RegionName Region 0 华北一 cn-bj 1 上海二 cn-sh2 2 广州 cn-gd 3 香港 hk 4 洛杉矶 us-ca 5 新加坡 sg 6 雅加达 idn-jakarta 7 台北 tw-tp 8 拉各斯 afr-nigeria 9 圣保罗 bra-saopaulo10 迪拜 uae-dubai 11 法兰克福 ge-fra 12 胡志明市 vn-sng 13 华盛顿 us-ws 14 孟买 ind-mumbai 15 首尔 kr-seoul16 东京 jpn-tky17 曼谷 th-bkk18 华北二 cn-wlcb19 英国 uk-london 请输入要创建bucket地区编号或地区代码(默认为华北一:cn-bj):0Region: cn-bj当前账号下业务组分组信息如下:No. ProjectName ProjectId 1 Default org-orcwsj请输入要bucket的项目编号:1Number: 1ProjectID: org-orcwsjMake bucket [ us3cli-test ] successCopyErrorSuccess

非交互式创建bucket,输入acl,region以及projectid信息,acl,region是必填项,projectid可不填

./us3cli mb us3://us3cli-test --acl private --region cn-bj --projectid org-orcwsyCopyErrorSuccess

注意:若您的bucket不在默认项目下,bucket操作都需要加上--projectid参数,请创建bucket时自行记录projectid,或通过 ls 命令查看projectid

rb

本命令用于删除存储空间

命令格式

us3cli rb us3://<桶名字> [--projectid <项目ID>][--force]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -f, --force :强制删除 -h, --help :当前命令使用说明 --projectid <string> :指定当前bucket所在projectid,可以在控制台查看,默认项目可忽略 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

删除存储空间:存储空间必须为空,否则无法删除

./us3cli rb us3://bucket1The bucket [bucket1] is being deleted, continue(y or n)? yDelete bucket [bucket1] successCopyErrorSuccess

stat

本命令用于查看存储空间或文件信息

命令格式

us3cli stat us3://<桶名字>[/<文件key>][--projectid <项目ID>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 --projectid <string> :指定当前bucket所在projectid,可以在控制台查看,默认项目可忽略CopyErrorSuccess

使用示例

查看默认项目下存储空间bucket1的基本信息

./us3cli stat us3://bucket1BucketName: bucket1 Region: cn-bj BucketId: ufile-dpgjzcn Type: public CreateTime: 2020-09-15 18:17:24ModifyTime: 2020-09-15 18:17:24CopyErrorSuccess

查看us3://bucket1/test.txt的文件信息

./us3cli stat us3://bucket1/aaa.txtName: aaa.txt X-Ufile-Create-Time: Fri, 18 Sep 2020 10:09:05 GMT X-Ufile-Storage-Class: STANDARD Server: nginx/1.11.1 Date: Mon, 21 Sep 2020 11:17:56 GMT Content-Type: application/octet-stream Accept-Ranges: bytes Etag: "AQAAAEpjpDD8COEdGg3uOeLfsR_ddQgc"Content-Length: 4298 Last-Modified: Fri, 18 Sep 2020 10:09:05 GMT Vary: OriginCopyErrorSuccess

du

该命令用于获取指定存储空间(Bucket)各存储类型的存储量大小,以及总存储量

注意:存储量结算时间为当前日期前一天0:00

命令格式

us3cli du us3://<桶名字>[/<key>] [--force][--projectid <项目ID>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -f, --force :强制更新存储量 -h, --help :当前命令使用说明 --projectid <string> :指定当前bucket所在projectid,可以在控制台查看,默认项目可忽略CopyErrorSuccess

使用示例

查看bucket1所占空间大小,内容包含各存储类型的存储量以及总存储量

StorageClass Size STANDARD: 1.05 GBIA: 0 GB ARCHIVE: 0 GB Total storage: 1.05 GBCopyErrorSuccess

查看bucket1下的testfolder目录下各类型存储量以及文件数量

#./us3cli du us3://bucket1/testfolder FileCount FileSizeSum 10000 99.77 MB STANDARD 10000 99.77 MB IA 0 0 B ARCHIVE 0 0 B UpdateTime: 2020-12-24 11:40:27 ThuCopyErrorSuccess

注意:当使用命令首次查看某个目录或前缀下的存储量时,会将数据保存在本地,24内使用非强制更新查看存储量时,都不会重新请求,只显示前24小时内拉取到的最新数据。有更新需要的可以添加-f/--force选项再次拉取存储量。

cp

该命令用于上传、下载、拷贝文件

命令格式

上传文件

us3cli cp <本地文件路径> us3://<桶名字>/<文件Key> [--check][--recursive][--reduce][--parallel <分片上传并发数>][--speedlimit <速度限制>][--storageclass <存储类型>][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--metadata <Key>=<value1>[,<key2>=<value2>]...][--mimetype <多媒体文件格式>]CopyErrorSuccess

下载文件

us3cli cp us3://<桶名字>/<文件Key> <本地文件路径> [--recursive][--reduce][--speedlimit <速度限制>][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--parallel <分片下载并发数>][--partsize <下载分片大小>]CopyErrorSuccess

拷贝文件

us3cli cp us3://<桶名字>/<文件Key> us3://<桶名字>/<文件Key> [--recursive][--reduce][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--metadata <Key>=<value1>[,<key2>=<value2>]...]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 -c, --check :用于上传文件夹结束后检查已上传文件的etag是否一致 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --exclude <string> :不包含当前通配符的文件名 -h, --help :当前命令使用说明 --include <string> :包含当前通配符的文件名 --metadata <string> :指定元数据信息(该参数仅限上传和拷贝) 多个元数据以","分隔,如 "key1=value,key2=value2",其他分隔符暂不支持 --mimetype <string> :指定mimetype(该参数仅限上传) --parallel <int> :分片并发数或批量并发数 --partsize <string> :下载分片大小,默认大小为4M,最小值为1M(该参数仅限下载) -r, --recursive :递归文件夹中的所有文件及子目录下所有文件 --reduce :是否以精简模式执行(不展示进度) --rexclude <string> :不包含当前正则表达式的文件名 --rinclude <string> :包含当前正则表达式的文件名 --secretkey <string> :用于访问us3的API私钥或Token私钥 -s, --speedlimit <string> :平均速度限制(单位可以是B,KB,MB,不带单位默认以B/s计算),默认200MB/s --storageclass <string> :指定存储类型,对应有效值:STANDARD, IA, ARCHIVE(该参数仅限上传),默认值:STANDARDCopyErrorSuccess

注意:

1.通配符表达式暂时只支持“*”,"?"两种字符,并且需要注意的是,四种表达式筛选均以当前目录下文件路径为准

如:us3://us3cli/test 目录下的test2/test3.txt 会以test2/test3.txt作为字符串筛选,而不是以test3.txt作为字符串进行筛选

2.以下所有speedlimit选项均描述为平均速度

3.单个文件上传时根据文件大小使用不同的请求,文件大于64MB使用分片上传,小于64MB时使用普通的put请求,故上传中的parallel参数仅限上传64MB以上大文件使用

4.由于windows环境下文件名存在不区分大小写的情况,要下载的文件已存在时,会在文件名及文件后缀名之间默认添加(1),(2)...等作为文件名后缀,如:

文件test.txt存在,则下载的文件保存为test(1).txt,若此时test(1).txt也存在,也保存为test(2).txt,依次类推CopyErrorSuccess

使用示例

上传单个文件

./us3cli cp ~/go/src/test.txt us3://bucket1/testCopyErrorSuccess

上传单个大文件(大于64MB)并设置分片并发数为10

./us3cli cp ~/go/src/test.mp4 us3://bucket1/test.mp4 --parallel 10# 文件大小小于64MB时该参数无效CopyErrorSuccess

下载单个文件

./us3cli cp us3://bucket1/test/test.txt ~/go/src/test.txtCopyErrorSuccess

拷贝单个文件

./us3cli cp us3://bucket1/test.txt us3://bucket2/test.txtCopyErrorSuccess

拷贝文件夹

./us3cli cp -r us3://bucket1/test us3://bucket2/testCopyErrorSuccess

下载文件夹

./us3cli cp -r us3://bucket/test ~/go/src/testCopyErrorSuccess

指定存储类型上传

上传单个文件并指定存储类型为IA(低频访问)类型

./us3cli cp ~/go/src/test.txt us3://bucket/path/test.txt --storageclass IACopyErrorSuccess

限速上传

上传文件test.txt,并设置速度为1024Kb/s

./us3cli cp ~/go/src/test.txt us3://bucket/test.txt --speedlimit 1024KbCopyErrorSuccess

批量上传

上传所有格式为jpg的文件(通配符)

./us3cli cp -r ~/go/src/test us3://bucket/test --include "*.jpg"CopyErrorSuccess

上传所有a开头b结尾的文件(正则表达式)

./us3cli cp -r ~/go/src/test us3://bucket/test --rinclude "a*b"CopyErrorSuccess

上传所有不包括a开头b结尾的文件(正则表达式)

./us3cli cp -r ~/go/src/test us3://bucket/test --rexclude "a*b"CopyErrorSuccess

上传所有文件名不包括001的文件(通配符)

./us3cli cp -r ~/go/src/test us3://bucket/test --exclude "*001*"CopyErrorSuccess

上传单个文件并指定元数据信息

./us3cli cp ~/go/src/test us3://bucket/test --metadata key1=value1,key2=value2CopyErrorSuccess

指定mimetype为text/plain上传

./us3cli cp ~/go/src/test us3://bucket/test --mimetype text/plainCopyErrorSuccess

上传文件夹并检查etag是否一致

./us3cli cp -r ~/go/src/test us3://bucket/test --checkCopyErrorSuccess

sync

本命令用于目录的增量上传

命令格式

us3cli sync <本地目录> us3://<桶名字>/<文件Key> [--reduce][--mode cache|local][--ruler modtime|etag][--speedlimit <速度限制>][--retrycount <重试次数>][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--parallel <请求并发数>][--metadata <Key>=<value1>[,<key2>=<value2>]...][--mimetype <多媒体文件格式>][--storageclass <存储类型>][--force]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --exclude <string> :不包含当前通配符的文件名 -f, --force :是否强制同步,在加入该选项后,同步删除时,不弹出确认信息 --no-delete :是否默认不删除源端不存在的对象, 且不弹出信息, 在与-f同时使用时,执行--no-delete -h, --help :当前命令使用说明 --include <string> :包含当前通配符的文件名 --metadata <string> :指定元数据信息,多个元数据以","分隔,如 "key1=value,key2=value2",其他分隔符暂不支持 --mimetype <string> :指定mimetype上传 -m, --mode <string> :可选项 cache、local 默认值为cache cache :以本地缓存为标准,检查基于缓存的增量文件,同步us3端对应目录的文件,默认为该模式 local :以本地文件系统为标准,检查本地文件以及us3不同步的文件,补全或删除us3端对应目录的文件 --parallel <int> :请求并发数,默认值为10 --reduce :是否以精简模式执行(不展示进度) -r, --retrycount: <int> :失败重试次数,默认值:10 --rexclude <string> :不包含当前正则表达式的文件名 --rinclude <string> :包含当前正则表达式的文件名 --ruler <string> :可选项 modtime、etag 默认为modtime modtime :在判断是否上传时采用文件最后修改时间作为判断标准,如果本地文件最后修改时间晚于us3,则进行上传请求,否则不上传 etag :在判断是否上传时采用文件etag作为判断标准,如果本地文件etag和us3中的etag不同,则进行上传请求,否则不上传 --secretkey <string> :用于访问us3的API私钥或Token私钥 -s, --speedlimit <string> :平均速度限制(单位可以是B,KB,MB,不带单位默认以B/s计算),默认200MB/s --storageclass <string> :指定存储类型,对应有效值:STANDARD, IA, ARCHIVE,默认值:STANDARDCopyErrorSuccess

增量模式说明:

1.cache模式使用本地缓存,从本地上传到bucket成功的文件,都会被记录为上传成功文件,如果需要重新上传,可以选择删除当前用户目录下的.us3cliconfig/leveldb文件夹,使用命令时会自动创建新的文件夹。

2.local模式下最终以本地文件为标准,保证bucket中的目标文件夹和本地同步,以下场景会进行文件删除,请慎用:

增量上传文件夹后,将本地文件删除,再次使用local模式增量,会将bucket中的文件删除以保持US3 Bucket和本地同步

使用示例

cache模式,以本地缓存中保存的修改时间为标准,同步本地文件

./us3cli sync /root/test us3://bucket/pathCopyErrorSuccess

cache模式,以本地缓存中的文件etag信息为标准,同步本地文件

./us3cli sync /root/test us3://bucket/path --ruler etagCopyErrorSuccess

local模式,对比本地文件夹与指定us3目录中的所有文件的修改时间,通过上传文件以及删除us3文件操作,将us3目录状态与本地保持一致(如us3中有相对于本地多余的文件,则会删除us3中对应多余文件,请慎用)

./us3cli sync /root/test us3://bucket/path --mode localCopyErrorSuccess

local模式,对比本地文件夹与指定us3目录中的所有文件的etag信息,通过上传文件以及删除us3文件操作,将us3目录状态与本地保持一致(如us3中有相对于本地多余的文件,则会删除us3中对应多余文件,请慎用)

./us3cli sync /root/test us3://bucket/path --mode local --ruler etagCopyErrorSuccess

限速为1024 Kb/s上传

./us3cli sync /root/test us3://bucket/path --speedlimit 1024KbCopyErrorSuccess

并发上传文件夹

./us3cli sync /root/test us3://bucket/path --parallel 5CopyErrorSuccess

指定mimetype上传

./us3cli sync /root/test us3://bucket/path --mimetype "mimetype"CopyErrorSuccess

指定存储类型上传

./us3cli sync /root/test us3://bucket/path --storageclass "ARCHIVE"CopyErrorSuccess

指定元数据上传

./us3cli sync /root/test us3://bucket/path --metadata "key1=value1,key2=value2"CopyErrorSuccess

rcat

本命令用于流式上传文件

命令格式

us3cli rcat us3://<桶名字>/<文件Key> [--reduce][-retrycount <重试次数>][--speedlimit <速度限制>][--parallel <并发数限制>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 --parallel <int> :分片并发数 --reduce :是否以精简模式执行(不展示进度) --retrycount: <int> :失败重试次数,默认值:10 --secretkey <string> :用于访问us3的API私钥或Token私钥 -s, --speedlimit <string> :平均速度限制(单位可以是B,KB,MB,不带单位默认以B/s计算),默认200MB/sCopyErrorSuccess

使用示例

上传流式数据到us3中

cat test.txt | ./us3cli rcat us3://bucket1/test.txtCopyErrorSuccess

流式上传文件test.txt并设置限速为 2MB/s

cat test.txt | ./us3cli rcat us3://bucket1/test.txt --speedlimit 2MBCopyErrorSuccess

流式上传文件test.txt并设置重试次数为5次

cat test.txt | ./us3cli rcat us3://bucket1/test.txt --retrycount 5CopyErrorSuccess

流式上传文件test.txt并设置并发数为2

cat test.txt | ./us3cli rcat us3://bucket1/test.txt --parallel 2CopyErrorSuccess

mkdir

本命令用于在US3存储空间内创建目录

命令格式

us3cli mkdir [--parents] us3://<桶名字>/<目录名>[/<目录名>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 -p, --parents :用于创建多级目录 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

创建目录

./us3cli mkdir us3://bucket/dirCopyErrorSuccess

创建多级目录

./us3cli mkdir -p us3://bucket/dir1/dir2CopyErrorSuccess

cat

本命令用于流式下载文件

命令格式

us3cli cat us3://<bucketname>/<keyname> [--reduce][--retrycount <重试次数>][--speedlimit <速度限制>][--partsize <下载分片大小>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 --partsize :下载分片大小,默认大小为4M,最小值为1M(该参数仅限下载) --reduce :是否以精简模式执行(不展示进度) --retrycount: <int> :失败重试次数,默认值:10 --secretkey <string> :用于访问us3的API私钥或Token私钥 -s, --speedlimit <string> :平均速度限制(单位可以是B,KB,MB,不带单位默认以B/s计算),默认200MB/sCopyErrorSuccess

使用示例

查看test.txt文件内容

./us3cli cat us3://bucket1/test.txtCopyErrorSuccess

流式下载test.txt到本地

./us3cli cat us3://bucket1/test.txt > test.txtCopyErrorSuccess

流式下载并限速为1MB/s

./us3cli cat us3://bucket1/test.txt --speedlimit 1MB > test.txtCopyErrorSuccess

流式下载并设置重试次数为5次

./us3cli cat us3://bucket1/test.txt --retrycount 5 > test.txtCopyErrorSuccess

下载并设置分片大小为2M

./us3cli cat us3://bucket1/test.txt --partsize 2M > test.txtCopyErrorSuccess

mv

本命令用于移动文件

注意:本命令只能用于相同bucket之内,同时-f选项只支持文件

命令格式

us3cli mv us3://<桶名字>/<文件Key> us3://<桶名字>/<文件Key> [--force][--reduce][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--parallel <并发数>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --exclude <string> :不包含当前通配符的文件名 -f, --force :存在同名文件时是否覆盖 -h, --help :当前命令使用说明 --include <string> :包含当前通配符的文件名 --parallel <int> :并发数 --reduce :是否以精简模式执行(不展示进度) --rexclude <string> :不包含当前正则表达式的文件名 --rinclude <string> :包含当前正则表达式的文件名 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

移动文件

./us3cli mv us3://bucket/test.txt us3://bucket/test/test.txtCopyErrorSuccess

强制移动文件

./us3cli mv us3://bucket/test.txt us3://bucket/test/test.txt -fCopyErrorSuccess

移动文件夹 注意:目标文件夹存在时,文件夹会被移动到目标文件夹子目录中

./us3cli mv us3://bucket/test us3://bucket/test2CopyErrorSuccess

rm

本命令用于删除目录或者对象

命令格式

us3cli rm us3://<桶名字>/<文件Key> [--recursive][--force][--reduce][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--qps <每秒最大请求数量>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --cache <string> :要删除的缓存类型 : upload|download|sync|du --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --exclude <string> :不包含当前通配符的文件名 -f, --force :强制删除 -h, --help :当前命令使用说明 --include <string> :包含当前通配符的文件名 --parallel <int> :批量删除并发数,默认值为10 -q, --qps <int> :限制每秒请求数量,默认50qps,取值范围:1~1000 -r, --recursive :递归文件夹中的所有文件及子目录下所有文件 --reduce :是否以精简模式执行(不展示进度) --rexclude <string> :不包含当前正则表达式的文件名 --rinclude <string> :包含当前正则表达式的文件名 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

删除文件

./us3cli rm us3://bucket/test.txtCopyErrorSuccess

强制删除文件

./us3cli rm -f us3://bucket/test.txtCopyErrorSuccess

强制删除文件夹

./us3cli rm -r -f us3://bucket/testCopyErrorSuccess

批量删除test文件夹中后缀名为.jpg的文件

./us3cli rm -r us3://bucket/test --include "*.jpg"CopyErrorSuccess

限制删除操作最多每秒10个请求,最大可以上调到1000qps,取值范围在1~1000

./us3cli rm -r us3://bucket/test --include "*.jpg" --qps 10CopyErrorSuccess

批量删除文件并设置并发数为30

./us3cli rm -r us3://bucket/test --parallel 30CopyErrorSuccess

清空bucket

./us3cli rm -r -f us3://bucket --parallel 10CopyErrorSuccess

删除sync产生的缓存

./us3cli rm -f --cache syncCopyErrorSuccess

ls

该命令用于列出存储空间(Bucket)、对象(Object)或ProjectID

命令格式

us3cli ls [us3://<桶名称>] [--limit <输出限制数>][--restore][--flat][--mimetype][--etag][--project][--projectid <项目ID>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --etag :是否展示etag信息 --flat :是否以非层级结构(展开所有目录)显示,默认层级显示 -h, --help :当前命令使用说明 -l, --limit <int> :需要同时列出的最大文件条数,默认值为100 --mimetype :是否展示mimetype信息 --project :列出当前账户下所有项目及项目ID --projectid <string> :列出bucket时指定projectid,默认项目可忽略 -r, --restore :是否展示数据解冻信息 --secretkey <string> :用于访问us3的API私钥或Token私钥 --prefix-file-list :调用专有云的列表服务接口CopyErrorSuccess

注意:

ls列取文件列表默认情况修改为只显示文件key,文件大小,存储类型,创建时间,可以自行通过参数添加restore、etag、mimetype等信息

使用示例

列出当前权限下所有bucket

./us3cli lsBucketName Region Acl CreateTime bucket1 cn-bj public 2020-03-27 17:20:56bucket2 cn-bj private 2020-03-27 17:20:43us3cli cn-bj public 2020-09-15 16:17:24CopyErrorSuccess

列出bucket下所有对象

./us3cli ls us3://bucketKey FileSize StorageClass Etag CreateTime us3://bucket/cf1 DIR IA AQAAANo5o-5ea0sNMlW_75VgGJCv2AcJ 2020-07-16 18:51:04 us3://bucket/aa.txt 4KB STANDARD AQAAAGNlfLt9cIbFawzU5caZm7aDZkho 2020-07-22 11:04:34 us3://bucket/aa.txt 4KB ARCHIVE AQAAAGNlfLt9cIbFawzU5caZm7aDZkho 2020-07-22 11:04:34CopyErrorSuccess

列出当前账号下所有project

./us3cli ls --project当前账号下项目信息如下:No. ProjectName ProjectId 1 Default org-ddhm4o2 Test org-nhrc4y3 Test2 org-wr5pejCopyErrorSuccess

列出bucket下对象并限制显示文件数量为2

./us3cli ls us3://bucket --limit 2CopyErrorSuccess

列出bucket下对象并显示数据解冻状态信息

./us3cli ls us3://bucket --restoreCopyErrorSuccess

递归当前目录列出非目录形式的文件列表(展开所有目录)

./us3cli ls us3://bucket --flatCopyErrorSuccess

sign

本命令用于文件下载url获取

命令格式

us3cli sign us3://<桶名字>/<文件Key> [--expires <时间>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --expires <int> :url使用的过期时间,单位s -h, --help :当前命令使用说明 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

获取url签名

./us3cli sign us3://bucket/test.txtCopyErrorSuccess

获取限时100s 的url签名

./us3cli sign us3://bucket/test.txt --expires 100CopyErrorSuccess

modify

该命令用于修改us3中的文件信息

命令格式

us3cli modify us3://<桶名字>/<文件Key> [--storageclass <存储类型>][--mimetype <多媒体文件格式>][--metadata <<key1=value1>[,<key2=value2>]...>][--replace]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 --metadata <string> :指定元数据信息 --mimetype <string> :指定多媒体文件格式mimetype --replace :是否清空原有元数据 --secretkey <string> :用于访问us3的API私钥或Token私钥 --storageclass <string> :指定存储类型,对应有效值:STANDARD, IA, ARCHIVECopyErrorSuccess

使用示例

存储类型改变

修改test.txt的存储类型为STANDARD标准型

./us3cli modify us3://bucket/test.txt --storageclass STANDARDCopyErrorSuccess

mimetype改变

修改test.txt文件的mimetype信息

./us3cli modify us3://bucket/test.txt --mimetype image/x-iconCopyErrorSuccess

metadata改变

1.修改test.txt文件的元数据信息,以key=value形式作为参数,可修改多个元数据信息,中间以英文逗号","分隔

./us3cli modify us3://bucket/test.txt --metadata "key1=value1,key2=value2"CopyErrorSuccess

2.清除原有元数据,添加新的内容

./us3cli modify us3://bucket/test.txt --metadata "key1=value1" --replaceCopyErrorSuccess

3.删除所有元数据

./us3cli modify us3://bucket/test.txt --metadata "" --replaceCopyErrorSuccess

restore

本命令用于恢复冷冻状态的对象(object)为可读状态

命令格式

us3cli restore us3://<桶名字>/<文件Key> [--recursive][--reduce][--qps <每秒请求数上限>][--exclude <通配符表达式>][--rexclude <正则表达式>][--include <通配符表达式>][--rinclude <正则表达式>][--parallel <批量激活并发数>]CopyErrorSuccess

参数说明

--accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 --exclude <string> :不包含当前通配符的文件名 -h, --help :当前命令使用说明 --include <string> :包含当前通配符的文件名 --parallel <int> :批量激活并发数,默认值为10 -q, --qps <int> :限制每秒请求数量,默认50qps,取值范围:1~1000 -r, --recursive :递归文件夹中的所有文件及子目录下所有文件 --reduce :是否以精简模式执行(不展示进度) --rexclude <string> :不包含当前正则表达式的文件名 --rinclude <string> :包含当前正则表达式的文件名 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

单个文件数据解冻

./us3cli restore us3://bucket/test.txtCopyErrorSuccess

数据解冻整个目录中所有文件

./us3cli restore -r us3://bucket/testCopyErrorSuccess

批量激活文件并设置并发数为30

./us3cli restore -r us3://bucket/test --parallel 30CopyErrorSuccess

etag

该命令用于计算文件etag值

命令格式

us3cli etag [<本地文件路径1>,[<本地文件路径2>] ...] [us3://<桶名字>/<文件Key>] [-]CopyErrorSuccess

参数说明

固定参数: "-" 表示计算标准输入中的数据流etag值 --accesskey <string> :用于访问us3的API公钥或Token公钥 --config <string> :当前命令临时指定配置名/配置文件路径 --endpoint <string> :固定域名,可通过地域和域名页查看 -h, --help :当前命令使用说明 --secretkey <string> :用于访问us3的API私钥或Token私钥CopyErrorSuccess

使用示例

计算本地文件etag值

./us3cli etag main.goName Etag main.go AQAAAEpmwm87EANJQDpLTEmxsjR7-R0NCopyErrorSuccess

计算us3文件etag值

./us3cli etag us3://bucket1/test.txtName Etag us3://bucket1/test.txt AQAAAEpmwm87EANJQDpLTEmxsjR7-R0NCopyErrorSuccess

计算标准输入etag值

cat test.txt | ./us3cli etag -Name Etag [-] SmbCbzsQA0lAOktMSbGyNHv5HQ0=CopyErrorSuccess

计算多个文件etag

cat test4.txt | ./us3cli etag us3://bucket1/test.txt us3://bucket1/test2.txt test3.txt -Name Etag us3://bucket1/test.txt AQAAAEpmwm87EANJQDpLTEmxsjR7-R0Nus3://bucket1/test2.txt AQAAAEpmwm87EANJQDpLTEmxsjR7-R0Ntest3.txt AQAAAHPuBl-6VRpzVHiBFjSOVhLrcsam[-] SmbCbzsQA0lAOktMSbGyNHv5HQ0=CopyErrorSuccess

create-token

本命令用于创建Token

命令格式

us3cli create-token token-name [--flags]CopyErrorSuccess

参数说明

--black-list stringArray 黑名单ip -b, --buckets stringArray token允许操作的桶 -e, --expire int token过期时间 -h, --help 帮助 -o, --operations stringArray token允许的操作 --prefixes stringArray token允许操作的对象前缀 -p, --projectid string token所属的项目id -r, --region string token所在的区域 --white-list stringArray 白名单ipCopyErrorSuccess
使用示例
us3cli create-token test-token --projectid org-xxxxxx2021-10-13 15:02:37.248 INFO Token created successfully, token-id: ea8e7799-3241-xxxxxxxxxxCopyErrorSuccess

delete-token

本命令用于删除Token

命令格式

us3cli delete-token --token-id token-id [--flags]CopyErrorSuccess

参数说明

-h, --help 帮助信息 -p, --projectid string token的项目id -r, --region string token所在的区域 --token-id string 想要删除的token的idCopyErrorSuccess
使用示例
us3cli delete-token --token-id ea8e7799-3241-xxxxxx --projectid org-xxxxxx --region cn-bj2021-10-13 15:05:14.449 INFO Token deleted successfullyCopyErrorSuccess

update-token

本命令用于更新Token

命令格式

us3cli update-token token-id [--flags]CopyErrorSuccess

参数说明

--black-list stringArray 黑名单ip -b, --buckets stringArray token允许操作的桶 -e, --expire int token过期时间 -h, --help 帮助 -n, --name string token的名字 -o, --operations stringArray token允许的操作 --prefixes stringArray token允许操作的对象前缀 -p, --projectid string token所属的项目id -r, --region string token所在的区域 --white-list stringArray 白名单ipCopyErrorSuccess
使用示例
us3cli update-token c1fd74ad-9c04-4ee2-bb1e-xxxxxxxxx --region cn-bj --projectid org-xxxxxx2021-10-13 15:12:02.403 INFO Token updated successfullyCopyErrorSuccess

describe-token

本命令用于列出和描述Token

命令格式

us3cli describe-token [--flags]CopyErrorSuccess

参数说明

-h, --help 帮助信息 -p, --projectid string token的项目id -r, --region string token所在的区域 --token-id string 想要删除的token的idCopyErrorSuccess
使用示例
列出某个project,某region下的所有tokenus3cli describe-token --region cn-bj --projectid org-jhrz4yToken Id:2853e6eb-951d-4ba4-b2e9-xxxxxxxxxToken Name:sourextokenAllowed buckets:[sourcex]Allowed operations:[TOKEN_ALLOW_READ TOKEN_ALLOW_WRITE TOKEN_ALLOW_DELETE TOKEN_ALLOW_LIST TOKEN_ALLOW_IOP]Allowed prefixes:[*]Exipre time:1569742841Private key:4xxxxxxxxxxxxxxxxxxxxxxxPublic key:TOKEN_xxxxxxxxxxxxxxxxxxxxxCopyErrorSuccess

....

- 描述某个特定的tokenCopyErrorSuccess

us3cli describe-token --token-id c1fd74ad-9c04-4ee2-bb1e-xxxxxxxxx --region cn-bj --projectid org-xxxxx Token Id: c1fd74ad-9c04-4ee2-bb1e-xxxxxxxx Token Name: test-token Allowed buckets: [] Allowed operations: [TOKEN_ALLOW_NONE] Allowed prefixes: [] Exipre time: 86400 Private key: dxxxxxxxxxxxxxxxxxxxxxx Public key: TOKEN_xxxxxxxxxxxxxxxxxxxx

## update本命令用于版本更新注意:1.windows用户更新后会产生一个名为config.temp的临时文件,在下一次运行us3cli时会自动删除。2.将本工具放入bin目录下执行时,更新操作会出现找不到文件的问题,具体天博·(中国)官方网站请查看常见问题页面。### 命令格式CopyErrorSuccess

us3cli update [--force]

### 参数说明CopyErrorSuccess

-f, --force :忽略版本,强制更新 -h, --help :当前命令使用说明

##### 使用示例CopyErrorSuccess

./us3cli update

Your version is not the latest version, do you update it now(y or n):y Downloaded latest version package,saved as: us3cli-linux64

## version本命令用于查看工具版本### 命令格式CopyErrorSuccess

us3cli version

### 使用示例CopyErrorSuccess

./us3cli version

us3cli version 1.2.0

```






对象存储 S3

免费咨询获取折扣

Loading