该工具旨在为用户提供一个方便的,以命令行方式管理OSS数据的途径。
当前版本:1.0.0.Beta
linux, windows, mac
根据您的操作系统选择相应的binary或者压缩包下载后,运行相应的binary(如果binary为不可执行文件,请给binary增加可执行权限:chmod 755 ossutil),即:
linux系统下:
<code>./ossutil</code>
windows系统下有两种方法(以64位系统为例):
1) 解压压缩包,双击运行其中的bat文件,再键入:<code>ossutil64.exe</code>
2)解压压缩包,cmd进入压缩包中binary所在的目录,键入:<code>ossutil64.exe</code>
mac系统下:
<code>./ossutilmac64</code>
<code></code>
在使用ossutil的命令时,可以使用-L选项设置语言,可选范围为CH/EN,即:中文或英文。大小写不敏感。默认语言为CH(中文),如果设置成CH(中文),需要确保您的系统为utf-8编码,否则可能会显示乱码。
如:
<code>./ossutil help ls</code>显示ls默认语言的帮助
<code>./ossutil help ls -L ch</code> 显示ls的中文帮助
<code>./ossutil help ls -L en</code> 显示ls的英文帮助
<code>./ossutil config -L ch</code> 运行ossutil config的交互式配置命令,其中的提示语言为中文。
<code>./ossutil config -L en</code> 运行ossutil config的交互式配置命令,其中的提示语言为英文。
注意:ossutil输出的错误默认都为英文,不会受上述选项影响。
<code>./ossutil</code>或 <code>./ossutil help</code>
<code>$./ossutil</code>
<code>用法: ossutil [command] [args...] [options...]</code>
<code>请使用ossutil help command来显示command命令的帮助</code>
<code>Commands:</code>
<code> </code><code>mb cloud_url [options]</code>
<code> </code><code>创建Bucket</code>
<code> </code><code>ls [cloud_url] [options]</code>
<code> </code><code>列举Buckets或者Objects</code>
<code> </code><code>rm cloud_url [options]</code>
<code> </code><code>删除Bucket或Objects</code>
<code> </code><code>stat cloud_url [options]</code>
<code> </code><code>显示bucket或者object的描述信息</code>
<code> </code><code>set-acl cloud_url [acl] [options]</code>
<code> </code><code>设置bucket或者objects的acl</code>
<code> </code><code>set-meta cloud_url [meta] [options]</code>
<code> </code><code>设置已上传的objects的元信息</code>
<code> </code><code>cp src_url dest_url [options]</code>
<code> </code><code>上传,下载或拷贝Objects</code>
<code> </code><code>restore cloud_url [options]</code>
<code> </code><code>恢复冷冻状态的Objects为可读状态</code>
<code> </code><code>create-symlink cloud_url target_url [options]</code>
<code> </code><code>创建符号链接</code>
<code> </code><code>read-symlink cloud_url [options]</code>
<code> </code><code>读取符号链接文件的描述信息</code>
<code>Additional Commands:</code>
<code> </code><code>help [command]</code>
<code> </code><code>获取命令的帮助文档</code>
<code> </code><code>config [options]</code>
<code> </code><code>创建配置文件用以存储配置项</code>
<code> </code><code>hash file_url [options]</code>
<code> </code><code>计算本地文件的crc64或md5</code>
<code> </code><code>update [options]</code>
<code> </code><code>更新ossutil</code>
<code>$./ossutil -L en</code>
<code>Usage: ossutil [command] [args...] [options...]</code>
<code>Please use 'ossutil help command' to show help of command</code>
<code> </code><code>Make Bucket</code>
<code> </code><code>List Buckets or Objects</code>
<code> </code><code>Remove Bucket or Objects</code>
<code> </code><code>Display meta information of bucket or objects</code>
<code> </code><code>Set acl on bucket or objects</code>
<code> </code><code>set metadata on already uploaded objects</code>
<code> </code><code>Upload, Download or Copy Objects</code>
<code> </code><code>Restore Frozen State Object to Read Ready Status</code>
<code> </code><code>Create symlink of object</code>
<code> </code><code>Display meta information of symlink object</code>
<code> </code><code>Get help about commands</code>
<code> </code><code>Create configuration file to store credentials</code>
<code> </code><code>Get crc64 or md5 of local file</code>
<code> </code><code>Update ossutil</code>
<code>./ossutil help cmd</code>强烈建议在使用某命令前先使用help来查阅帮助文档。
<code>./ossutil help config -L ch</code>
<code>SYNOPSIS</code>
<code> </code><code>创建配置文件用以存储配置项</code>
<code>SYNTAX</code>
<code> </code><code>ossutil config [-e endpoint] [-i id] [-k key] [-t token] [-L language] [--output-dir outdir] [-c file]</code>
<code>DETAIL DESCRIPTION</code>
<code> </code><code>该命令创建配置文件,将用户设置的配置项信息存储进该配置文件,配置项用</code>
<code> </code><code>以访问OSS时提供访问信息(某命令是否需要配置项,参见其是否支持</code>
<code> </code><code>--config-file选项,具体可见该命令的帮助)。</code>
<code> </code><code>配置文件路径可由用户指定,默认为/home/admin/.ossutilconfig。如果配置</code>
<code> </code><code>文件存在,假设其为:a,ossutil会将文件a另存为:a.bak,然后重新创建文件a</code>
<code> </code><code>并写入配置,此时,如果a.bak存在,其会被文件a覆盖。</code>
<code> </code><code>注意:</code>
<code> </code><code>(1)如果指定的配置文件路径非默认路径,在使用命令时请将--config-file选</code>
<code> </code><code>项设置为你配置时指定的配置文件路径(如果不指定--config-file选项,则运</code>
<code> </code><code>行命令时默认会读取/home/admin/.ossutilconfig)。</code>
<code> </code><code>(2)某些配置可在使用命令时通过选项进行设置,如--endpoint,--access-key-id,</code>
<code> </code><code>等选项(具体请见每个命令的帮助),如果使用命令时指定了这些选项,并且同</code>
<code> </code><code>时配置文件中也配置了这些信息,则优先级为:选项 > 配置文件。</code>
<code> </code><code>(3)如果使用命令时指定了--endpoint、--access-key-id、--access-key-secret</code>
<code> </code><code>或--sts-token选项,则ossutil不强求配置文件一定要存在。</code>
<code>用法:</code>
<code> </code><code>该命令有两种用法,交互式1)和非交互式2),推荐用法为交互式,因为交互</code>
<code> </code><code>式用法拥有更好的安全性。</code>
<code> </code><code>1) ossutil config [-c file]</code>
<code> </code><code>该用法提供一种交互式的方法来配置信息,ossutil交互式地询问用户如下</code>
<code> </code><code>信息:</code>
<code> </code><code>(1) config file</code>
<code> </code><code>配置文件路径,如果用户键入回车,ossutil会使用默认的配置文件:</code>
<code> </code><code>/home/admin/.ossutilconfig。</code>
<code> </code><code>如果用户自己指定了配置文件,在使用命令时需要将--config-file选项</code>
<code> </code><code>设置为用户设置的配置文件路径。哪些命令支持--config-file选项可由查看</code>
<code> </code><code>每个命令的帮助。</code>
<code> </code><code>(2) language</code>
<code> </code><code>当首次配置(配置文件不存在)时,ossutil会向用户询问语言设置,可</code>
<code> </code><code>选值为中文或者英文(CH/EN),如果键入回车,ossutil将根据用户输入的</code>
<code> </code><code>--language选项配置,如果此时用户也未输入--language选项,将配置成默认</code>
<code> </code><code>语言中文。</code>
<code> </code><code>如果配置文件已存在,ossutil会综合用户输入的language选项和配置文件</code>
<code> </code><code>中的语言信息,配置该项,而不会询问。</code>
<code> </code><code>ossutil在运行时会从配置文件中读取该language选项,如果该选项不存在</code>
<code> </code><code>或者非法,将采用默认语言:CH。</code>
<code> </code><code>注意:该配置项在此次config成功结束后才会生效,在执行config命令过</code>
<code> </code><code>程中语言显示不会受用户的选择影响。</code>
<code> </code><code>(3) endpoint, accessKeyID, accessKeySecret</code>
<code> </code><code>回车代表着跳过相应配置项的设置。注意:endpoint应该为一个二级域</code>
<code> </code><code>名(SLD),例如:oss.aliyuncs.com。</code>
<code> </code><code>以上选项一般为必选项。</code>
<code> </code><code>(4) stsToken</code>
<code> </code><code>如果用户需要使用临时token来访问oss,用户需要填入该项,否则请输入</code>
<code> </code><code>回车跳过该项配置。</code>
<code> </code><code>(5) outputDir</code>
<code> </code><code>该选项配置输出文件所在目录的路径。交互式模式时不提供该选项的配置,</code>
<code> </code><code>但配置文件中该项配置起效。</code>
<code> </code><code>outputDir的默认目录为:当前目录下的:ossutil_output,ossutil会在</code>
<code> </code><code>运行过程中将输出文件都生成到该文件夹下。输出文件目前包含:在cp命令中</code>
<code> </code><code>批量操作出错时,记录每个文件操作的错误信息的report文件。</code>
<code> </code><code>关于outputDir和report文件的更多信息请参见cp命令的帮助。</code>
<code> </code><code>注意:outputDir如果不存在,ossutil在产生输出文件时会自动创建该目录,</code>
<code> </code><code>如果outputDir存在且并非目录,将会报错。</code>
<code> </code><code>下述交互式Bucket-Endpoint和Bucket-Cname配置被取消,但配置文件中该两项</code>
<code> </code><code>配置仍然起效。</code>
<code> </code><code>(6) Bucket-Endpoint</code>
<code> </code><code>Bucket-Endpoint对每个指定的bucket单独配置endpoint,此配置会优先于</code>
<code> </code><code>配置文件中关于默认endpoint的配置。</code>
<code> </code><code>在该版本中,ossutil取消了交互式配置中,关于Bucket-Endpoint配对的配</code>
<code> </code><code>置,但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定</code>
<code> </code><code>endpoint,仍然可以在配置文件中进行配置。注意:此处的endpoint应该为一个</code>
<code> </code><code>二级域名(SLD),例如:oss.aliyuncs.com。</code>
<code> </code><code>如果配置了Bucket-Endpoint选项,当对某bucket进行操作时,ossutil会在</code>
<code> </code><code>该选项中寻找该bucket对应的endpoint,如果找到,该endpoint会覆盖基本配置</code>
<code> </code><code>中endpoint。但是运行命令时如果指定了--endpoint选项,--endpoint选项为最</code>
<code> </code><code>高优先级。</code>
<code> </code><code>(7) Bucket-Cname</code>
<code> </code><code>Bucket-Cname为每个指定的bucket单独配置CNAME域名(CDN加速域名),此</code>
<code> </code><code>配置会优先于配置文件中Bucket-Endpoint及endpoint的配置。</code>
<code> </code><code>在该版本中,ossutil取消了交互式配置中,关于Bucket-Cname配对的配置,</code>
<code> </code><code>但配置文件中该项配置仍然起效,所以如果用户想对每个bucket单独指定CNAME</code>
<code> </code><code>域名,仍然可以在配置文件中进行配置。</code>
<code> </code><code>如果配置了Bucket-Cname选项,当对某bucket进行操作时,ossutil会在该</code>
<code> </code><code>选项中寻找该bucket对应的CNAME域名,如果找到,则找到的CNAME域名会覆盖</code>
<code> </code><code>Bucket-Endpoint选项和基本配置中的endpoint。运行命令时如果指定了--endpoint</code>
<code> </code><code>选项,--endpoint选项为最高优先级。</code>
<code> </code><code>优先级:--endpoint > Bucket-Cname > Bucket-Endpoint > endpoint > 默认endpoint</code>
<code> </code><code>2) ossutil config options</code>
<code> </code><code>如果用户使用命令时输入了除--language和--config-file之外的任何选项,则</code>
<code> </code><code>该命令进入非交互式模式。所有的配置项应当使用选项指定。</code>
<code>配置文件格式:</code>
<code> </code><code>[Credentials]</code>
<code> </code><code>language = CH</code>
<code> </code><code>endpoint = oss.aliyuncs.com</code>
<code> </code><code>accessKeyID = your_key_id</code>
<code> </code><code>accessKeySecret = your_key_secret</code>
<code> </code><code>stsToken = your_sts_token</code>
<code> </code><code>outputDir = your_output_dir</code>
<code> </code><code>[Bucket-Endpoint]</code>
<code> </code><code>bucket1 = endpoint1</code>
<code> </code><code>bucket2 = endpoint2</code>
<code> </code><code>...</code>
<code> </code><code>[Bucket-Cname]</code>
<code> </code><code>bucket1 = cname1</code>
<code> </code><code>bucket2 = cname2</code>
<code>SAMPLE</code>
<code> </code><code>ossutil config</code>
<code> </code><code>ossutil config -e oss-cn-hangzhou.aliyuncs.com -c ~/.myconfig</code>
<code>OPTIONS</code>
<code> </code><code>-c, --config-file</code>
<code> </code><code>ossutil工具的配置文件路径,ossutil启动时从配置文件读取配置,在config命令中,ossutil将配置写入该文件。</code>
<code> </code><code>-e, --endpoint</code>
<code> </code><code>ossutil工具的基本endpoint配置(该选项值会覆盖配置文件中的相应设置),注意其必须为一个二级域名。</code>
<code> </code><code>-i, --access-key-id</code>
<code> </code><code>访问oss使用的AccessKeyID(该选项值会覆盖配置文件中的相应设置)。</code>
<code> </code><code>-k, --access-key-secret</code>
<code> </code><code>访问oss使用的AccessKeySecret(该选项值会覆盖配置文件中的相应设置)。</code>
<code> </code><code>-t, --sts-token</code>
<code> </code><code>访问oss使用的STSToken(该选项值会覆盖配置文件中的相应设置),非必须设置项。</code>
<code> </code><code>--output-dir=ossutil_output</code>
<code> </code><code>指定输出文件所在的目录,输出文件目前包含:cp命令批量拷贝文件出错时所产生的report文件(关于report文件更多信息,请参考cp命令帮助)。默认值为:当前目录下的ossutil_output目录。</code>
<code> </code><code>-L CH, --language=CH</code>
<code> </code><code>设置ossutil工具的语言,默认值:CH,取值范围:CH/EN,若设置成"CH",请确保您的系统编码为UTF-8。</code>
配置ossutil由两种方式:交互式和非交互式。
关于配置命令的更多帮助,请使用<code>ossutil help config</code>查看。
<code>./ossutil config</code>
默认配置文件目录,为用户根目录下的.ossutilconfig
<code>$./ossutil config -L ch</code>
<code>该命令创建将一个配置文件,在其中存储配置信息。</code>
<code>请输入配置文件路径(默认为:/home/admin/.ossutilconfig,回车将使用默认路径。如果用户设置为其它路径,在使用命令时需要将--config-file选项设置为该路径):</code>
<code>./ossutil config -e oss.aliyuncs.com -i your_id -k your_key</code>
<code>./ossutil ls</code>或 <code>./ossutil ls oss://</code>

<code>./ossutil ls oss://bucket</code>
<code>./ossutil cp -r localfile oss://bucket</code>
<code>./ossutil cp -r --update oss://bucket localfile</code>
<code>./ossutil rm oss://bucket -rfb</code>
参考:https://help.aliyun.com/document_detail/50452.html?spm=5176.product31815.3.2.1MiHLr
本文转自奔跑在路上博客51CTO博客,原文链接http://blog.51cto.com/qiangsh/1865558如需转载请自行联系原作者
qianghong000