==声明:本案例制作于2023年7月22日,且只在Mac上做了测试,如若无效请看对应的的官网说明==
在根据阿里云OSS文档进行整理,更改了叙述方法,部分我不用的仅复制了,未测试
环境:
- 设备:MacBook Pro M1 (低配,主要用来打字和简单的代码、文档修改)
- 对象存储平台:
阿里云OSS
(因为比较便宜,七牛云虽然有免费空间,但是需要自己有域名)- 上传组件:桌面版
picgo
(主要方便换源、安装插件和查看图片)- OSS内容查看工具:阿里云的
ossutil
(我用的是命令行管理工具,主要是 如果你想有丝滑的使用体验就安装图形化管理工具)
由于我上传都是markdown没有其它用途,所以ossutil
的命令下载没有进行完全测试
其它的我就不介绍了,可以发我邮箱,我会尽力解释,整理后会一并发出。
一、下载Typora
- 官网下载,忘了使试用版的是试用多久,配置方法都是是一样的
- 由于这个软件很好用,还是买断制的,推荐购买。
- 其它安装方法不作介绍。
二、配置阿里oss
可以先买个标准存储包,9元
外网访问用按量计费就行(默认的),不用买。我就自己用,一天一分钱
- 买
OOS资源包
,标准本地冗余存储
(用于抵扣数据存储的空间),其它的参考图片选择
-
创建一个buckt
- 公开(为了外部能访问图片)
创建成功后,页面不要关
三、下载PicGo
-
任一地址下载安装
windows下载win
mac的m系列芯片下载dmg
linux不懂(发行版太多了,不懂)
三、配置PicGo
-
打开软件主窗口(如果没有直接打开界面,可以在状态栏打开)
-
图床设置–>阿里云OOS
-
AccessKey
的创建 -
打开刚才创建
Bucket
的页面
四、终端安装ossutil
打开
ossutil
介绍(可以找到相关的安装方法)查看官方文档
-
打开Mac的终端,输入命令:
sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash
若没有终端报错,即为成功。
如果报错就看官方文档
五、配置ossutil
-
配置config
-
ossutil config
首次安装可以直接按回车,ossutil默认使用
/Users/user/.ossutilconfig
作为配置文件 -
CH
或EN
指定ossutil的语言,工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。
-
根据提示输入
Endpoint
、AccessKey ID
、AccessKey Secret
和STSToken
参数==看提示==,使用STS临时授权账号访问OSS时需要配置
STSToken
,否则置空即可,简单来说就是自己用不需要配,直接回车。 -
输入
ossutil
验证是否安装成功-
如果安装成功了,会显示相应的命令
-
如果没有安装成功,重新配置config即可(输入
ossutil config
)
-
-
六、ossutil命令
不完整,
==建议使用
bash
==,苹果默认的是zsh
,阿里云的一些命令可能无法识别,不懂
我使用的是bash,命令行直接输入
bash
即可关于bash这种的shell程序不作过多的说明,以下是各个系统的对应命令使用方法(来自阿里云帮助文档)
系统 binary名称 Linux 64位 ./ossutil64 Linux 32位 ./ossutil32 Windows 64位 ossutil64.exe Windows 32位 ossutil32.exe MacOS 64位 ./ossutilmac64 MacOS 32位 ./ossutilmac32 ARM 64位 ./ossutilarm64 ARM 32位 ./ossutilarm32 我使用的是
ossutil
命令==可以命令叠加使用==
例如
ossutil sign oss://my-markdown/test.txt --timeout 3600 --trafic-limit 838860800
将生成一个超时时间为3600秒限制访问速度为100Mb/s的URL【见(六)2和(六)3】
==下载时,如果本地文件目录不存在将会自动创建==
配置和基本的增删改查
(一)配置修改 config
您可以通过config命令创建配置文件,用于存储OSS访问信息。您可以在使用其他命令时添加-c选项,ossutil将通过指定的配置来访问OSS。
ossutil config
格式
./ossutil config
[-e,--endpoint <value>] #填写Bucket所在地域的域名信息,详情请参见访问域名和数据中心。您也可以增加http://或https://指定ossutil访问OSS使用的协议,默认使用HTTP协议。
[-i,--access-key-id <value>] #指定配置文件中Credentials选项下的AccessKey ID。有关如何查看AccessKey ID信息的具体步骤,请参见获取AccessKey。
[-k,--access-key-secret <value>] #指定配置文件中Credentials选项下的AccessKey Secret。有关如何查看AccessKey Secret信息的具体步骤,请参见获取AccessKey。
[-t,--sts-token <value>] #访问OSS使用的STSToken,仅在使用STS临时授权方式访问OSS时需要配置此项。有关如何生成STSToken的具体步骤,请参见临时访问凭证。
[--ram-role-arn <value>] #RamRoleArn鉴权模式下的RAM角色ARN。仅在使用RAM用户的AssumeRole的方式访问时需要配置此项。
[-L language <value>] #设置ossutil工具的语言。取值如下:
#CH(默认值):中文。设置为CH时,请确保您的系统编码方式为UTF-8。
#EN:英文。
[--output-dir <value>] #指定输出文件所在的目录,输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件。
#默认值:当前目录下的ossutil_output目录。
[-c,--config-file <value>] #ossutil工具的配置文件路径,ossutil启动时将从配置文件读取配置。
交互式
./ossutil64 config
请输入配置文件名,文件名可以带路径(默认为:/home/user/.ossutilconfig,回车将使用默认路径。
如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):
未输入配置文件路径,将使用默认配置文件:/home/user/.ossutilconfig。
对于下述配置,回车将跳过相关配置项的设置,配置项的具体含义,请使用"help config"命令查看。
请输入endpoint:https://oss-cn-shenzhen.aliyuncs.com
请输入accessKeyID:yourAccessKeyID
请输入accessKeySecret:yourAccessKeySecret
请输入stsToken:yourStsToken
非交互式
ossutil config -e oss-cn-beijing.aliyuncs.com -i LTAIbZcdVCmQ**** -k D26oqKBudxDRBg8Wuh2EWDBrM0**** -L CH -c /myconfig
如果您使用命令时输入了除-L language和-c,–config-file以外的任意选项,则进入非交互式模式,所有的配置项需使用选项来指定。
(二)输出文件内容cat
格式
ossutil cat oss://bucketname/objectname [--payer <value>] [--version-id <value>]
bucketname
Bucket名称objectname
Object名称--payer
请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester--version-id
Object的指定版本。仅适用于已开启或暂停版本控制状态Bucket下的Object。
ossutil cat oss://examplebucket/test.txt
将未开启版本控制的目标存储空间examplebucket内名为test.txt的文件内容输出到屏幕
ossutil64 cat oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
将已开启版本控制的目标存储空间examplebucket内名为exampleobject.txt文件的指定版本内容输出到屏幕
(三)创建Bucket mb
Bucket可以理解成存储空间
-
oosutil mb oss://Bucket名称
-
示例
oosutil mb oss://my-markdown
==以下将使用此路径为例==
-
(四)上传文件 cp
1. 仅上传
-
ossutil cp 文件路径 oss://bucket名称
-
示例
ossutil cp /Users/UserName/Desktop/test.txt oss://my-markdown
把
test.txt
文件上传到my-markdown
上
-
2. 上传并重命名
-
ossutil cp 文件路径 oss://bucket名称/重命名名称
-
示例
ossutil cp /Users/UserName/Desktop/test.txt oss://my-markdown/a.txt
把test.txt文件上传到
my-markdown
上,并重命名为a.txt
-
(五)查询 ls
1. 查询存储的对象列表(Object)
-
ossutil ls oss://目标Bucket名称
-
示例
ossutil ls oss://my-markdown
列举my-markdown内所有Object
-
2. 查询特定前缀的对象
-
ossutil ls oss://目标Bucket名称/前缀名
-
示例
`ossutil ls oss://my-markdown/my
列举my-markdown内所有以my为前缀的文件
-
3. 查询特定后缀的对象
-
ossutil ls oss://目标Bucket名称 --include *后缀名
-
示例
ossutil ls oss://my-markdown --include *.png
列举my-markdown内所有以
.png
为前缀的文件(查找png图片)
-
4. 查询根目录下对象和子文件
-
ossutil ls oss://目标Bucket名称 -d
-
示例
ossutil ls oss://my-markdown -d
列举my-markdown下的所有文件和目录
-
5.查询根目录下所有Object的所有版本
-
ossutil ls oss://目标Bucket名称 --all-versions
-
示例
ossutil ls oss://my-markdown --all-versions
列举my-markdown下的所有Object的版本
-
6. 列举根目录下文件的所有版本--all-versions
来自“下载指定版本”的跳转
-
ossutil ls oss://my-markdown/文件完整名 --all-versions
-
示例
ossutil ls oss://my-markdown/笔记.txt --all-versions
列举my-markdown下
笔记.txt
的所有版本
-
(六)下载cp
1. 下载单个文件
a. 仅下载
-
ossutil cp oss://my-markdown/文件名 本地目录
-
示例
ossutil cp oss://my-markdown/test.txt /Users/UserName/Desktop/
把
my-markdown
下的test.txt
文件下载到/Users/UserName/Desktop/
路径下
-
b. 下载并重命名
-
ossutil cp oss://my-markdown/文件名 本地目录/文件名
-
示例
ossutil cp oss://my-markdown/test.txt /Users/UserName/Desktop/a.txt
把
my-markdown
下的test.txt
文件下载到/Users/UserName/Desktop/
路径下,并重命名为a.txt
-
2. 下载多个文件cp -r
- 递归
-r
- 指定前缀或后缀下载
*
表示匹配任何字符- 包含
--include
- 不包含
--exclude
- 增量
--update
或-u
- 忽略子目录
--only-current-dir
a. 下载所有不是JPG的文件--exclude "*.jpg"
-
ossutil cp oss://my-markdown/ 本地路径 --exclude "*.jpg" -r
-
示例
ossutil cp oss://my-markdown/ /User/UserName/Dektop/ --exclude "*.jpg" -r
下载
my-markdown/
下所有不是.jpg
的文件到/User/UserName/Dektop/
下
-
b.下载文件名中包含abc
但不是JPG
和TXT
的文件--include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
-
ossutil cp oss://my-markdown/ 本地路径 --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
-
示例
ossutil cp oss://my-markdown/ /User/UserName/Dektop/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
下载
my-markdown/
下所有名称中包含abc
但不是JPG
和TXT
的文件到/User/UserName/Dektop/
-
3. 下载文件夹
a.下载文件夹及其子目录
-
ossutil cp -r oss://my-markdown/a/ 本地路径
-
示例
ossutil cp -r oss://my-markdown/a/ /User/UserName/Dektop/
下载
my-markdown/a/
下所有文件夹及其子目录到/User/UserName/Dektop/
-
b.下载文件夹,不包含子目录--only-current-dir
-
ossutil cp oss://my-markdown/a/ 本地路径 --only-current-dir
-
示例
ossutil cp oss://my-markdown/ /User/UserName/Dektop/ --only-current-dir
只下载
my-markdown/a/
下所有文件夹到/User/UserName/Dektop/
-
c. 下载根目录
-
ossutil64 cp -r oss://my-markdown 本地路径/
-
示例
ossutil cp oss://my-markdown /User/UserName/Dektop/
下载
my-markdown
下所有文件夹到/User/UserName/Dektop/
-
4. 下载并生成快照信息--snapshot-path
1.ossutil64 cp -r oss://my-markdown/文件名 本地路径/ --snapshot-path=快照路径
ossutil在指定的目录下生成文件下载的快照信息
在下一次指定该选项下载时,ossutil会读取指定路径下的快照信息进行增量下载
-
示例
ossutil cp oss://my-markdown/test.txt /Users/UserName/Desktop/test/ --snapshot-path=/Users/UserName/Desktop/test/shot/
下载
test.txt
文件到/Users/UserName/Desktop/test/
,同时把快照保存在/Users/UserName/Desktop/test/shot/
5. 在已开启版本控制的Bucket内下载指定版本文件--version-id
已开启版本控制
下载指定版本文件
开启版本控制
来自“查询文件的versionid”的返回
-
ossutil64 cp -r oss://my-markdown/文件名 本地路径/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
-
示例
ossutil64 cp -r oss://my-markdown/test.txt /Users/UserName/Desktop/test/ --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
下载
test.txt
文件的CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
版本到/Users/UserName/Desktop/test/
目录下
-
6. 下载限速 --maxdownspeed
在原来的下载命令末尾添加
--maxdownspeed 速度
- 单位时KB/s
-
对下载文件夹限速
ossutil64 cp -r oss://my-markdown 本地路径/ --maxdownspeed 速度
-
示例
ossutil cp oss://my-markdown /User/UserName/Dektop/ --maxdownspeed 1024
下载
my-markdown
下所有文件夹到/User/UserName/Dektop/
,且限制速度为1MB/s
-
-
对下载文件限速
ossutil64 cp -r oss://my-markdown/文件名 本地路径/ --maxdownspeed 速度
-
示例
ossutil cp oss://my-markdown/test.txt /User/UserName/Dektop/ --maxdownspeed 2048
下载
my-markdown
下的文件test.txt
到/User/UserName/Dektop/
,且限制速度为2MB/s
-
7. 范围下载--range
-
ossutil64 cp -r oss://my-markdown 本地路径/ --range=开始的数字范围-结尾的数字范围
-
示例
ossutil cp oss://my-markdown/test.txt /User/UserName/Dektop/ --range=10-20
将
test.txt
的第10
到第20
个字符作为一个文件下载到本地
-
8.下载
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过
-e
选项指定该Bucket所属的Endpoint
。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i
选项指定该账号的AccessKey ID
,并通过-k
选项指定该账号的AccessKey Secret
。[查询Endpoint]
[查询AccessKey ID]
[查询AccessKey Secret]
-
ossutil cp oss://markdown/test.txt 本地路径/ -e 指定的Endpoint -i AccessKey_ID -k AccessKey_Secret
-
示例
./ossutil64 cp oss://examplebucket/exampleobject.txt localfolder/ -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
将另一个阿里云账号下,华东2(上海)地域下存储空间examplebucket根目录下的文件exampleobject.txt下载至本地目录localfolder下,
-
(七)删除文件 rm
删除单个Object
ossutil64 rm oss://examplebucket/exampleobject.txt
前缀匹配删除
./ossutil64 **rm** oss://examplebucket/test -r
后缀匹配删除
ossutil64 **rm** oss://examplebucket --include "*.png" -r
包含字符删除
ossutil64 **rm** oss://examplebucket --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
删除置顶文件版本
ossutil64 **rm** oss://examplebucket/exampleobject.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
删除已开启版本控制的文件的所有版本。
ossutil64 rm oss://examplebucket/exampleobject.txt --all-versions
删除已开启版本控制的examplebucket下所有Object的所有版本
ossutil64 rm oss://examplebucket --all-versions -r
(八) 生成签名URL sign
1. 生成默认参数的URL
-
ossutil sign oss://mielgo-markdown/文件名
默认的超时时间为
60
秒-
示例
ossutil sign oss://my-markdown/test.txt
对目标文件
oss://my-markdown/test.txt
生成超时时间为60
秒的文件签名URL。(如果成功,系统将返回一个URL,任何人都可以使用这个链接下载你所生成URL的这个文件)
-
2. 指定超时时间
当前时间戳与签名URL的过期时间之和不能超过
9223372036854775807
,否则会溢出报错。例如,当前时间戳为1643341269
,则签名URL过期时间最大不能超过9223372035211434538
。
-
ossutil sign oss://mielgo-markdown/文件名 --timeout 超时时间
-
示例
ossutil sign oss://my-markdown/test.txt --timeout 3600
对目标文件
oss://my-markdown/test.txt
生成超时时间为3600
秒的文件签名URL。(如果成功,系统将返回一个URL,任何人都可以使用这个链接下载你所生成URL的这个文件)
-
3.访问速度控制
限定HTTP的访问速度,单位为bit/s。缺省值为0,表示不受限制。取值范围为819200
838860800,即100 KB/s100 MB/s。
ossutil sign oss://mielgo-markdown/文件名 --timeout 超时时间 --trafic-limit 限制访问速度
-
示例
ossutil sign oss://my-markdown/test.txt --trafic-limit 838860800
对目标文件
oss://my-markdown/test.txt
生成限定其访问速度为100MB/s的URL
4. 对文件的指定版本生成URL--version-id
ossutil sign oss://mielgo-markdown/文件名 --version-id id名称
-
示例
ossutil sign oss://my-markdown/test.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
对目标文件
oss://my-markdown/test.txt
的CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****
版本生成URL
(九)创建目录mkdir
ossutil64 **mkdir** oss://bucketname/dirname [--encoding-type <value>]
dirname
创建的目录名称。目录名称须以正斜线(/)结尾。若未添加正斜线(/),ossutil会在目录末尾自动添加。--encoding-type
对oss://bucket_name后面的key(目录名称)进行编码,取值为url。如果不指定该选项,则表示目录名称未经过编码。
创建单级目录
ossutil mkdir oss://examplebucket/dir/
创建多级目录
ossutil mkdir oss://examplebucket/Photo/2021/
如果误删除了2021/目录,且上一级目录Photo/下文件个数为0,则Photo/目录也会被自动移除。
(十)版本控制bucket-versioning
版本控制是针对存储空间(Bucket)级别的数据保护功能。开启版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。在对象(Object)被错误覆盖或者误删除后,您可以将Bucket中存储的Object恢复至任意时刻的历史版本。本文介绍通过bucket-versioning命令设置或获取版本控制状态。
默认情况下,Bucket版本控制状态为“未开启”。一旦Bucket开启了版本控制,将无法返回至“未开启”状态。但是,您可以暂停Bucket版本控制。
设置版本控制状态
-
ossutil bucket-versioning --method put oss://BucketName versioning
-
说明
-
BucketName
待设置版本控制状态的目标Bucket名称 -
versioning
为目标Bucket设置版本控制状态,参数如下-
enabled
:开启版本控制-
当Bucket处于开启版本控制状态时,OSS将为新上传的Object生成全局唯一的随机字符串版本ID
-
例如
ossutil bucket-versioning --method put oss://my-markdown enabled
-
-
suspended
:暂停版本控制-
当Bucket处于暂停版本控制状态时,OSS将为新上传的Object生成特殊字符串为“null”的版本ID
-
例如
ossutil bucket-versioning --method put oss://my-markdown suspended
-
-
-
-
获取版本控制状态
-
ossutil bucket-versioning --method get oss://bucket名
-
bucket versioning status:Suspended
:暂停版本控制 -
bucket versioning status:Enabled
:开启版本控制 -
bucket versioning status:Null
:未开启版本控制
-
示例
ossutil bucket-versioning --method get oss://my-markdown
获取
my-markdown
的版本控制状态
-
(十一)防盗链referer
对象存储OSS支持对存储空间(Bucket)设置防盗链,即通过对访问来源设置白名单的机制,避免OSS资源被其他人盗用。referer命令用于添加、修改、查询、删除Bucket的防盗链配置。
基本格式
ossutil referer --method put oss://bucketname refererconfig [--disable-empty-referer]
-
refererconfig
填写域名或IP地址,支持通配符星号(*)和问号(?),多个Referer需以空格分隔。配置示例如下:
- 配置为
www.aliyun.com
时,可匹配www.aliyun.com/123、www.aliyun.com.cn等以www.aliyun.com为前缀的地址。 - 配置为
*www.aliyun.com/
,可匹配www.aliyun.com/和https://ww… - 通配符星号(*)表示使用星号代替0个或多个字符。例如配置为
*.aliyun.com
,可匹配help.aliyun.com、www.aliyun.com等地址。 - 通配符问号(?)表示使用问号代替一个字符。
- 支持带端口的域名或IP,例如www.example.com:8080、10.0.0.0:8080等地址。
- 配置为
-
--disable-empty-referer
选择是否允许空Referer。
- 不添加此选项时,表示允许空Referer,即HTTP或HTTPS Header中不带Referer字段或Referer字段为空。
- 添加此选项后,表示不允许空Referer,即HTTP或HTTPS Header中包含Referer字段的请求才能访问OSS资源。
查看防盗链配置
ossutil64 referer --method get oss://bucketname [local_xml_file]
bucketname
待获取防盗链配置的Bucket名称。local_xml_file
存放防盗链配置的本地文件名称,例如localfile.txt。如果未指定此参数,则防盗链配置将直接输出到屏幕。
删除防盗链配置
ossutil referer --method delete oss://bucketname
(十二)获取大小du
ossutil du oss://bucketname[/prefix] [--payer requester] [--all-versions][--block-size <value>]
prefix
Bucket下的某个文件目录或指定前缀。--payer
请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester。--all-versions
获取所有版本Object的大小。不添加此选项时,默认查询当前版本Object的大小。--block-size
定义输出结果中指定Bucket或目录下包含的Object大小,取值为KB、MB、GB或TB。不添加此选项时,默认以Byte为单位统计Object的大小。
查询指定Bucket下所有版本Object的大小
ossutil64 du oss://examplebucket --all-versions
查询指定目录下所有当前版本Object的大小
ossutil64 du oss://examplebucket/dir/ --block-size GB
查询examplebucket内指定目录dir下的当前版本Object大小,Object大小以GB为单位进行统计
查询与前缀匹配的所有版本Object的大小
ossutil64 du oss://examplebucket/test --all-versions --block-size KB
查询目标存储空间examplebucket下与前缀test匹配的所有版本Object的大小,Object大小以KB为单位进行统计
(十三)通用选项
当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。
例如您需要为另一个阿里云账号下,华东1(杭州)名为examplebucket的存储空间开启版本控制/,命令如下:
ossutil64 bucket-versioning--method put oss://examplebucket enabled -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
(十四)bucket其它操作
显示帮助信息
-h
,--help
升级
-u
, --update
仅返回当前目录下的文件和子目录
-d
, --directory
通过使用文件URL下载目标文件到本地的方式探测本地和目标Bucket之间的网络状态
-download
表示HTTP的请求类型,
--method
取值为PUT
、GET
、DELETE
等。
指定输出文件所在的目录
--output-dir
输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件
默认值:当前目录下的ossutil_output目录。
返回结果的最大个数
--limited-num
设置ossutil工具的语言
-L
, --language
取值如下:
CH
(默认值):中文。设置为CH时,请确保您的系统编码方式为UTF-8。EN
:英文。
删除Bucket、Object或碎片操作
--delete
仅在删除Bucket时使用此选项
-b
, --bucket
强制操作,不进行询问提示
-f
, --force
获取Bucket名称
--bucketname
对oss://bucket_name后面的key进行编码
--encoding-type
取值为url
,如果不指定该选项,则表示key未经过编码。
不对URL中的正斜线(/)进行编码
--disable-encode-slash
指定HTTP的访问速度
--trafic-limit
用于sign命令中。单位为bit/s。
默认值:0,表示不限速。
取值范围:819200838860800,即100 KB/s100 MB/s。
指定IP地址访问OSS
--local-host
cp命令中用于指定ossutil工具的本地IP地址。指定该选项后,ossutil将通过指定IP地址访问OSS
上传链接子目录
--enable-symlink-dir
默认不上传。probe命令可以探测是否存在死循环链接文件或者目录。
仅上传、下载、拷贝当前目录下的文件,忽略子目录及子目录下的文件
--only-current-dir
probe命令的探测项目
--probe-item
取值如下:
upload-speed
:探测上传带宽。
download-speed
:探测下载带宽。
cycle-symlink
:探测本地文件目录中是否存在死循环链接文件或者目录。
同步文件到本地
sync命令与cp命令的区别
sync命令强制以递归的方式遍历指定文件夹内所有文件或子文件夹。cp命令需增加-r选项才会进行递归操作。
通过sync命令将数据同步到OSS时,ossutil支持通过–delete选项将目的端存在而源端不存在的文件都删除,仅保留本次同步的文件。cp命令不支持–delete选项。
sync不支持–version-id选项,无法在已开启版本控制的Bucket内同步历史版本文件。cp命令支持–version-id选项。
ossutil sync file_url cloud_url
[-f --force]
[-u --update]
[--delete]
[--enable-symlink-dir] #同步链接子目录
[--disable-all-symlink] #同步目录时,忽略所有的链接子文件以及链接子目录。
[--disable-ignore-error] #批量操作时不忽略错误。
[--only-current-dir] #仅同步当前目录下的文件,忽略子目录及子目录下的文件。
[--output-dir <value>] #指定输出文件所在的目录。输出文件是指批量同步文件出错时产生的report文件,默认保存在当前目录下的ossutil_output目录。
[--bigfile-threshold <value>] #设置断点续传文件的大小阈值,单位为字节。
#默认值:100 MB
#取值范围:0~9223372036854775807
[--part-size <value>] #设置分片大小,单位为字节。
#默认情况下ossutil会根据文件大小自行计算合适的分片大小值。
#取值范围:1~9223372036854775807
[--checkpoint-dir <value>] #指定断点续传记录信息所在的目录。断点续传操作失败时,ossutil会自动创建名为.ossutil_checkpoint的目录,并在该目录下记录checkpoint信息,断点续传成功后会删除该目录。如果通过该选项指定了目录,请确保指定的目录可以被删除。
[--encoding-type <value>]
[--snapshot-path <value>]
[--include <value>]
[--exclude <value>]
[--meta <value>]
[--acl <value>] #文件的读写权限ACL。取值如下:
#default:继承Bucket的读写权限。
#private(默认值):只有该Bucket的拥有者可以对该Bucket内的文件进行读写操作,其他人无法访问该Bucket内的文件。
#public-read:只有Bucket拥有者可以对该Bucket内的文件进行写操作,其他用户(包括匿名访问者)都可以对该Bucket中的文件进行读操作。这有可能造成您数据的外泄以及费用激增,若被人恶意写入违法信息还可能会侵害您的合法权益。除特殊场景外,不建议您配置此权限。
#public-read-write:任何人(包括匿名访问者)都可以对该Bucket内文件进行读写操作。这有可能造成您数据的外泄以及费用激增,请谨慎操作。
[--maxupspeed <value>] #最大上传速度,单位为KB/s。默认值为0,表示不限制上传速度。
[--disable-crc64]
[--payer <value>]
[-j, --job <value>]
[--parallel <value>]
[--retry-times <value>] #发生错误后的重试次数。默认值为10,取值范围为1~500。
[--tagging <value>] #文件的标签信息,格式为TagkeyA=TagvalueA&TagkeyB=TagvalueB....。
file_url
:待同步的本地文件夹路径。例如Linux系统文件路径/localfolder/
,Windows系统文件路径D:\localfolder\
。
cloud_url
: OSS文件夹路径。格式为oss://bucketname/path/。例如oss://examplebucket/exampledir/。如果输入的cloud_url没有以正斜线(/)结尾,ossutil会自动在结尾处添加一个正斜线(/)。
文件元信息
ossutil64 set-meta oss://bucketname[/prefix] # /prefix: Bucket下的资源,例如目录、文件等。
[header:value#header:value...]
[--update] #更新文件元信息。该选项可简写为-u,且不能与--delete选项同时使用。
[--delete] #删除文件元信息。该选项不能与--update选项同时使用。
[-r,--recursive] #如果指定该选项时,ossutil将为所有与prefix匹配的文件设置元信息。如果不指定该选项,则ossutil只为指定文件设置元信息。
[-f, --force] #强制操作,不进行询问提示。
[--object-file, <value>] #该选项用于批量设置、更新或删除多个Object的元信息。使用该选项的步骤如下:
#您需要指定.txt或者XML格式的本地文件,并在本地文件中换行填写所有待设置、更新或删除元信息的Object。
#ossutil读取本地文件中的所有Object,然后对这些Object进行元信息的设置、更新或删除操作。
[--snapshot-path, <value>] #如果指定该选项,则只对本次操作的Object生成快照。如果操作的Object已经存在快照信息,则忽略本次操作。
[--disable-ignore-error] #批量操作时不忽略错误。
[--version <value>] #Object的指定版本。仅适用于已开启或暂停版本控制状态Bucket下的Object。
[--include <value>] #包含符合指定条件的所有Object。
[--exclude <value>] #不包含符合指定条件的所有Object。
thanks