Typora配置图床的方法及阿里云OSS的基本使用

del.png

==声明:本案例制作于2023年7月22日,且只在Mac上做了测试,如若无效请看对应的的官网说明==

在根据阿里云OSS文档进行整理,更改了叙述方法,部分我不用的仅复制了,未测试

环境:

  1. 设备:MacBook Pro M1 (低配,主要用来打字和简单的代码、文档修改)
  2. 对象存储平台:阿里云OSS (因为比较便宜,七牛云虽然有免费空间,但是需要自己有域名)
  3. 上传组件:桌面版picgo (主要方便换源、安装插件和查看图片)
  4. OSS内容查看工具:阿里云的ossutil (我用的是命令行管理工具,主要是 如果你想有丝滑的使用体验就安装图形化管理工具)

由于我上传都是markdown没有其它用途,所以ossutil的命令下载没有进行完全测试

其它的我就不介绍了,可以发我邮箱,我会尽力解释,整理后会一并发出。


一、下载Typora

  1. 官网下载,忘了使试用版的是试用多久,配置方法都是是一样的
    • 由于这个软件很好用,还是买断制的,推荐购买。
    • 其它安装方法不作介绍。

二、配置阿里oss

可以先买个标准存储包,9元

外网访问用按量计费就行(默认的),不用买。我就自己用,一天一分钱

  1. 打开阿里云官网,需要登录(可以使用支付宝扫码登录)
  2. 直达购买链接,或产品–>搜索输入:“OSS”–>对象存储OSS–>立即购买

open_buy_OSS_UI

  1. OOS资源包标准本地冗余存储(用于抵扣数据存储的空间),其它的参考图片选择

buy_AliyunOSS

  1. 创建一个buckt

    • 公开(为了外部能访问图片)

    create_bucket创建成功后,页面不要关

三、下载PicGo

picgo官网

picgo下载地址

  1. 任一地址下载安装

    windows下载win

    mac的m系列芯片下载dmg

    linux不懂(发行版太多了,不懂)

    download_PicGo

三、配置PicGo

  1. 打开软件主窗口(如果没有直接打开界面,可以在状态栏打开)

    open_PicGo

  2. 图床设置–>阿里云OOS

    PicGo_set

  3. AccessKey的创建

    open_AccessKey_UI

    create_AccessKey

  4. 打开刚才创建Bucket的页面

Bucket_list

endpoint_url

四、终端安装ossutil

打开ossutil介绍(可以找到相关的安装方法)查看官方文档

  1. 打开Mac的终端,输入命令:

    sudo -v ; curl https://gosspublic.alicdn.com/ossutil/install.sh | sudo bash

若没有终端报错,即为成功。

如果报错就看官方文档

五、配置ossutil

  1. 配置config

    1. ossutil config

      首次安装可以直接按回车,ossutil默认使用/Users/user/.ossutilconfig作为配置文件

    2. CHEN

      指定ossutil的语言,工具使用的语言默认与操作系统保持一致。该配置项将在此次config命令设置成功后生效。

    3. 根据提示输入EndpointAccessKey IDAccessKey SecretSTSToken参数

      ==看提示==,使用STS临时授权账号访问OSS时需要配置STSToken,否则置空即可,简单来说就是自己用不需要配,直接回车。

    4. 输入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>]

  1. bucketname Bucket名称
  2. objectname Object名称
  3. --payer 请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester
  4. --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可以理解成存储空间

  1. oosutil mb oss://Bucket名称

    • 示例

      oosutil mb oss://my-markdown ==以下将使用此路径为例==

(四)上传文件 cp

1. 仅上传

  1. ossutil cp 文件路径 oss://bucket名称

    • 示例

      ossutil cp /Users/UserName/Desktop/test.txt oss://my-markdown

      test.txt文件上传到my-markdown

2. 上传并重命名

  1. 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)

  1. ossutil ls oss://目标Bucket名称

    • 示例

      ossutil ls oss://my-markdown

      列举my-markdown内所有Object

2. 查询特定前缀的对象

  1. ossutil ls oss://目标Bucket名称/前缀名

    • 示例

      `ossutil ls oss://my-markdown/my

      列举my-markdown内所有以my为前缀的文件

3. 查询特定后缀的对象

  1. ossutil ls oss://目标Bucket名称 --include *后缀名

    • 示例

      ossutil ls oss://my-markdown --include *.png

      列举my-markdown内所有以.png为前缀的文件(查找png图片)

4. 查询根目录下对象和子文件

  1. ossutil ls oss://目标Bucket名称 -d

    • 示例

      ossutil ls oss://my-markdown -d

      列举my-markdown下的所有文件和目录

5.查询根目录下所有Object的所有版本

  1. ossutil ls oss://目标Bucket名称 --all-versions

    • 示例

      ossutil ls oss://my-markdown --all-versions

      列举my-markdown下的所有Object的版本

6. 列举根目录下文件的所有版本--all-versions

来自“下载指定版本”的跳转

返回“下载指定版本”

  1. ossutil ls oss://my-markdown/文件完整名 --all-versions

    • 示例

      ossutil ls oss://my-markdown/笔记.txt --all-versions

      列举my-markdown下笔记.txt的所有版本

(六)下载cp

1. 下载单个文件

a. 仅下载
  1. ossutil cp oss://my-markdown/文件名 本地目录

    • 示例

      ossutil cp oss://my-markdown/test.txt /Users/UserName/Desktop/

      my-markdown下的test.txt文件下载到/Users/UserName/Desktop/路径下

b. 下载并重命名
  1. 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

  1. 递归-r
  2. 指定前缀或后缀下载
  3. *表示匹配任何字符
  4. 包含--include
  5. 不包含--exclude
  6. 增量--update-u
  7. 忽略子目录--only-current-dir
a. 下载所有不是JPG的文件--exclude "*.jpg"
  1. 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但不是JPGTXT的文件--include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r
  1. 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但不是JPGTXT的文件到/User/UserName/Dektop/

3. 下载文件夹

a.下载文件夹及其子目录
  1. 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
  1. 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. 下载根目录
  1. 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

  1. 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
  1. 对下载文件夹限速

    ossutil64 cp -r oss://my-markdown 本地路径/ --maxdownspeed 速度

    • 示例

      ossutil cp oss://my-markdown /User/UserName/Dektop/ --maxdownspeed 1024

      下载my-markdown下所有文件夹到/User/UserName/Dektop/ ,且限制速度为1MB/s

  2. 对下载文件限速

    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

  1. 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]

  1. 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

  1. 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

  1. 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,表示不受限制。取值范围为819200838860800,即100 KB/s100 MB/s。

  1. 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

  1. ossutil sign oss://mielgo-markdown/文件名 --version-id id名称
  • 示例

    ossutil sign oss://my-markdown/test.txt --version-id CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****

    对目标文件oss://my-markdown/test.txtCAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3****版本生成URL

(九)创建目录mkdir

ossutil64 **mkdir** oss://bucketname/dirname [--encoding-type <value>]

  1. dirname 创建的目录名称。目录名称须以正斜线(/)结尾。若未添加正斜线(/),ossutil会在目录末尾自动添加。
  2. --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版本控制。

  • 在开启版本控制的Bucket中上传文件的行为与未开启版本控制状态下的上传行为一致。但Bucket开启版本控制后,OSS会为新上传至Bucket的Object生成全局唯一的versionID。详情请参见cp(上传文件)
  • 开启Bucket的版本控制后,针对数据的覆盖和删除操作将会以历史版本的形式保存下来。您可以通过指定versionID的方式下载指定版本Object,详情请参见cp(下载文件)。您还可以通过指定versionID的方式将Object恢复至任意时刻的历史版本,详情请参见cp(拷贝文件)

设置版本控制状态

  1. ossutil bucket-versioning --method put oss://BucketName versioning

    • 说明

      1. BucketName待设置版本控制状态的目标Bucket名称

      2. versioning为目标Bucket设置版本控制状态,参数如下

        1. enabled:开启版本控制

          • 当Bucket处于开启版本控制状态时,OSS将为新上传的Object生成全局唯一的随机字符串版本ID

          • 例如

            ossutil bucket-versioning --method put oss://my-markdown enabled

        2. suspended:暂停版本控制

          • 当Bucket处于暂停版本控制状态时,OSS将为新上传的Object生成特殊字符串为“null”的版本ID

          • 例如

            ossutil bucket-versioning --method put oss://my-markdown suspended

获取版本控制状态

  1. ossutil bucket-versioning --method get oss://bucket名

    1. bucket versioning status:Suspended:暂停版本控制

    2. bucket versioning status:Enabled:开启版本控制

    3. 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]

  1. 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等地址。
  2. --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]

  1. bucketname 待获取防盗链配置的Bucket名称。
  2. local_xml_file 存放防盗链配置的本地文件名称,例如localfile.txt。如果未指定此参数,则防盗链配置将直接输出到屏幕。

删除防盗链配置

ossutil referer --method delete oss://bucketname

(十二)获取大小du

ossutil du oss://bucketname[/prefix] [--payer requester] [--all-versions][--block-size <value>]

  1. prefix Bucket下的某个文件目录或指定前缀。
  2. --payer 请求的支付方式。如果希望访问指定路径下的资源产生的流量、请求次数等费用由请求者支付,请将此选项的值设置为requester。
  3. --all-versions 获取所有版本Object的大小。不添加此选项时,默认查询当前版本Object的大小。
  4. --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
取值为PUTGETDELETE等。

指定输出文件所在的目录

--output-dir
输出文件目前包含cp命令批量拷贝文件出错时所产生的report文件
默认值:当前目录下的ossutil_output目录。

返回结果的最大个数

--limited-num

设置ossutil工具的语言

-L --language
取值如下:

  1. CH(默认值):中文。设置为CH时,请确保您的系统编码方式为UTF-8。
  2. 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

© 版权声明
THE END
喜欢就支持一下吧
点赞0

Warning: mysqli_query(): (HY000/3): Error writing file '/tmp/MYv3b6hI' (Errcode: 28 - No space left on device) in /www/wwwroot/583.cn/wp-includes/class-wpdb.php on line 2345
admin的头像-五八三
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称代码图片