个人工作知识笔记
主页
Linux运维
Thinkphp相关
功能开发代码
常用工具
低频方案
常用软件
日记流水
账号体系
思考规划
添加内容
记日记
本网站
>
常用功能代码
TP安装及常用命令
TP控制器相关使用
linux常用命令
SQL常用代码
Ajax传输样例
TP6操作手册
TP3.2操作手册
coscmd配置
Ngix配置
WX错误代码
SLL配置
curl命令详解
功能
跳转至前台
数据备份
退出登录
标题
类别
Linux运维
Thinkphp相关
功能开发代码
常用工具
低频方案
是否隐藏
内容详情
<h2 id=".E5.8A.9F.E8.83.BD.E8.AF.B4.E6.98.8E">功能说明</h2><p>使用 COSCMD 工具,用户可通过简单的命令行指令实现对对象(Object)的批量上传、下载、删除等操作。</p><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>使用该工具上传同名文件,会覆盖较旧的同名文件,不支持校对是否存在同名文件的功能。</p></blockquote><h2 id=".E4.BD.BF.E7.94.A8.E7.8E.AF.E5.A2.83">使用环境</h2><h4 id=".E7.B3.BB.E7.BB.9F.E7.8E.AF.E5.A2.83">系统环境</h4><p>支持 Windows、Linux 和 macOS 系统。</p><blockquote class="doc-tip"><p class="doc-tip-tit"><i class="doc-icon-tip"></i>说明:</p><p></p><ul><li>请保证本地字符格式为 UTF-8,否则操作中文文件会出现异常。</li><li>请确保本机时间已经与国际标准时间校准,如误差过大,将导致无法正常使用。</li></ul></blockquote><h4 id=".E8.BD.AF.E4.BB.B6.E4.BE.9D.E8.B5.96">软件依赖</h4><ul><li>Python 2.7/3.5/3.6。</li><li>最新版本的 pip。</li></ul><h4 id=".E5.AE.89.E8.A3.85.E5.8F.8A.E9.85.8D.E7.BD.AE">安装及配置</h4><ul><li>环境安装与配置详细操作请参见 <a href="https://cloud.tencent.com/document/product/436/10866" target="_blank">Python 安装与配置</a>。</li><li>pip 环境安装与配置详细操作请参见 <a href="https://pip.pypa.io/en/stable/installing/" target="_blank">官网 pip 安装说明</a>。</li></ul><h2 id=".E4.B8.8B.E8.BD.BD.E4.B8.8E.E5.AE.89.E8.A3.85">下载与安装</h2><h4 id="pip-.E5.AE.89.E8.A3.85">pip 安装</h4><p>执行<code>pip</code>命令进行安装:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">pip install coscmd</code></pre></div></div><p>安装成功之后,用户可以通过<code>-v</code>或者<code>--version</code>命令查看当前的版本信息。</p><h4 id="pip-.E6.9B.B4.E6.96.B0">pip 更新</h4><p>执行<code>pip</code>命令进行更新:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-sh">pip install coscmd -U</code></pre></div></div><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>当 pip 版本号大于等于10.0.0 时,升级或安装依赖库时可能会出现失败,建议使用 pip 版本 9.x(pip install pip==9.0.0)。</p></blockquote><h4 id=".E6.BA.90.E7.A0.81.E5.AE.89.E8.A3.85.EF.BC.88.E4.B8.8D.E6.8E.A8.E8.8D.90.EF.BC.89">源码安装(不推荐)</h4><p>源码下载地址:<a href="https://github.com/tencentyun/coscmd.git" target="_blank">单击此处</a>。</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">git clone https://github.com/tencentyun/coscmd.git cd coscmd python setup.py install</code></pre></div></div><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>Python 版本为2.6时,pip 安装依赖库时容易失败,推荐使用该方法安装。</p></blockquote><h4 id=".E7.A6.BB.E7.BA.BF.E5.AE.89.E8.A3.85">离线安装</h4><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>请确保两台机器的 Python 版本保持一致,否则会出现安装失败的情况。</p></blockquote><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-sh"><span class="hljs-comment"># 在有外网的机器下运行如下命令</span> mkdir coscmd-packages pip download coscmd -d coscmd-packages tar -czvf coscmd-packages.tar.gz coscmd-packages <span class="hljs-comment"># 将安装包拷贝到没有外网的机器后运行如下命令</span> tar -xzvf coscmd-packages.tar.gz pip install coscmd --no-index -f coscmd-packages</code></pre></div></div><h2 id=".E4.BD.BF.E7.94.A8.E6.96.B9.E6.B3.95">使用方法</h2><h3 id=".E6.9F.A5.E7.9C.8B-help">查看 help</h3><p>用户可通过<code>-h</code>或<code>--help</code>命令来查看工具的 help 信息。</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">coscmd -h //查看当面版本信息</code></pre></div></div><p>help 信息如下所示:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">usage: coscmd [-h] [-d] [-b BUCKET] [-r REGION] [-c CONFIG_PATH] [-l LOG_PATH] [-v] {info,restore,createbucket,signurl,listparts,mget,list,upload,deletebucket,abort,getbucketversioning,putbucketacl,getobjectacl,download,putobjectacl,copy,config,putbucketversioning,getbucketacl,delete} ... an easy-to-use but powerful command-line tool. try 'coscmd -h' to get more informations. try 'coscmd sub-command -h' to learn all command usage, likes 'coscmd upload -h' positional arguments: {info,restore,createbucket,signurl,listparts,mget,list,upload,deletebucket,abort,getbucketversioning,putbucketacl,getobjectacl,download,putobjectacl,copy,config,putbucketversioning,getbucketacl,delete} config Config your information at first upload Upload file or directory to COS download Download file from COS to local delete Delete file or files on COS abort Aborts upload parts on COS copy Copy file from COS to COS list List files on COS listparts List upload parts info Get the information of file on COS mget Download file from COS to local restore Restore signurl Get download url createbucket Create bucket deletebucket Delete bucket putobjectacl Set object acl getobjectacl Get object acl putbucketacl Set bucket acl getbucketacl Get bucket acl putbucketversioning Set the versioning state getbucketversioning Get the versioning state optional arguments: -h, --help show this help message and exit -d, --debug Debug mode -b BUCKET, --bucket BUCKET Specify bucket -r REGION, --region REGION Specify region -c CONFIG_PATH, --config_path CONFIG_PATH Specify config_path -l LOG_PATH, --log_path LOG_PATH Specify log_path -v, --version show program's version number and exit</code></pre></div></div><p>除此之外,用户还可以在每个命令后(不加参数)输入<code>-h</code>查看该命令的具体用法,例如:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">coscmd upload -h //查看 upload 命令使用方法</code></pre></div></div><h3 id=".E9.85.8D.E7.BD.AE.E5.8F.82.E6.95.B0">配置参数</h3><p>COSCMD 工具在使用前需要进行参数配置,用户可以通过如下命令来配置:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">coscmd config [OPTION]...<file>... [-h] --help [-a] <secret_id> [-s] <secret_key> [-t] <token> [-b] <bucketname-appid> [-r] <region> | [-e] <endpoint> [-m] <max_thread> [-p] <part_size> [--do-not-use-ssl] [--anonymous] </part_size></max_thread></endpoint></region></bucketname-appid></token></secret_key></secret_id></file></code></pre></div></div><p>通常情况下,如您只需要进行简单的配置,可参照如下操作示例配置即可:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">coscmd config -a AChT4ThiXAbpBDEFGhT4ThiXAbp**** -s WE54wreefvds3462refgwewe**** -b examplebucket-1250000000 -r ap-beijing</code></pre></div></div><blockquote class="doc-tip"><p class="doc-tip-tit"><i class="doc-icon-tip"></i>说明:</p><p>其中 "[]" 中的字段为选项, "<>" 的字段为需要填写的参数。</p></blockquote><p>参数配置说明如下:</p><div class="doc-table-wrap"><table class="layui-table"><thead><tr><th align="left" style="text-align: left;">选项</th><th align="left" style="text-align: left;">参数说明</th><th style="text-align: left;">是否必选</th><th style="text-align: left;">有效值</th></tr></thead><tbody><tr><td align="left">-a</td><td align="left">密钥 ID 请前往 <a href="https://console.cloud.tencent.com/cam/capi" target="_blank">API 密钥控制台</a> 获取</td><td>是</td><td>字符串</td></tr><tr><td align="left">-s</td><td align="left">密钥 Key 请前往 <a href="https://console.cloud.tencent.com/cam/capi" target="_blank">API 密钥控制台</a> 获取</td><td>是</td><td>字符串</td></tr><tr><td align="left">-t</td><td align="left">临时密钥 token,当使用临时密钥时需要配置,设置 x-cos-security-token 头部</td><td>否</td><td>字符串</td></tr><tr><td align="left">-b</td><td align="left">指定的存储桶名称,存储桶的命名格式为 BucketName-APPID,请参见 <a href="https://cloud.tencent.com/document/product/436/13312#.E5.91.BD.E5.90.8D.E8.A7.84.E8.8C.83" target="_blank">命名规范</a></td><td>是</td><td>字符串</td></tr><tr><td align="left">-r</td><td align="left">存储桶所在地域,请参见 <a href="https://cloud.tencent.com/doc/product/436/6224" target="_blank">地域和访问域名</a></td><td>是</td><td>字符串</td></tr><tr><td align="left">-e</td><td align="left">设置请求的 ENDPOINT,设置 ENDPOINT 参数后,REGION 参数会失效</td><td>否</td><td>字符串</td></tr><tr><td align="left">-m</td><td align="left">多线程操作的最大线程数(默认为5,范围为1 - 30)</td><td>否</td><td>数字</td></tr><tr><td align="left">-p</td><td align="left">分块操作的单块大小(单位MB,默认为1MB,范围为1 - 1000)</td><td>否</td><td>数字</td></tr><tr><td align="left">--do-not-use-ssl</td><td align="left">使用 HTTP 协议,而不使用 HTTPS</td><td>否</td><td>字符串</td></tr><tr><td align="left">--anonymous</td><td align="left">匿名操作(不携带签名)</td><td>否</td><td>字符串</td></tr></tbody></table></div><blockquote class="doc-tip"><p class="doc-tip-tit"><i class="doc-icon-tip"></i>说明:</p><p></p><ol><li>可以直接编辑<code>~/.cos.conf</code>文件 (在 Windows 环境下,该文件是位于【我的文档】下的一个隐藏文件),该文件初始时不存在,是通过<code>coscmd config</code>命令生成,用户也可以手动创建。<br data-filtered="filtered">配置完成之后的<code>.cos.conf</code>文件内容示例如下所示:<div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell">[common] secret_id = AChT4ThiXAbpBDEFGhT4ThiXAbp**** secret_key = WE54wreefvds3462refgwewe**** bucket = examplebucket-1250000000 region = ap-beijing max_thread = 5 part_size = 1 schema = https</code></pre></div></div></li><li>可以在配置文件中增加<code>schema</code> 项来选择<code>http/https</code>,默认为<code>https</code>。</li><li>可以在 <code>anonymous</code> 项中选择<code>True/False</code>,来使用匿名模式,即签名保持为空。</li></ol></blockquote><h3 id=".E6.8C.87.E5.AE.9A-bucket-.E5.92.8C-region-.E7.9A.84.E5.91.BD.E4.BB.A4">指定 Bucket 和 Region 的命令</h3><ul><li>通过<code>-b <bucketname-appid></bucketname-appid></code>指定 Bucket, 可以指定特定的 Bucket。</li><li>存储桶的命名格式为 BucketName-APPID,此处填写的存储桶名称必须为此格式。</li><li>通过<code>-r <region></region></code>指定 Region, 可以指定特定的 Region。</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd -b <bucketname-appid> -r <region> <action> ... <span class="hljs-meta">#</span><span class="bash">操作示例-创建bucket</span> coscmd -b examplebucket-1250000000 -r ap-beijing createbucket <span class="hljs-meta">#</span><span class="bash">操作示例-上传文件</span> coscmd -b examplebucket-1250000000 -r ap-beijing upload exampleobject exampleobject </action></region></bucketname-appid></code></pre></div></div><h3 id=".E5.88.9B.E5.BB.BA.E5.AD.98.E5.82.A8.E6.A1.B6">创建存储桶</h3><ul><li>建议配合<code>-b <bucketname-appid></bucketname-appid></code>指定 Bucket 和<code>-r <region></region></code>指定 Region 使用。</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd -b <bucketname-appid> createbucket <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd createbucket coscmd -b examplebucket-1250000000 -r ap-beijing createbucket </bucketname-appid></code></pre></div></div><h3 id=".E5.88.A0.E9.99.A4.E5.AD.98.E5.82.A8.E6.A1.B6">删除存储桶</h3><ul><li>建议配合<code>-b <bucketname-appid></bucketname-appid></code>指定 Bucket 和<code>-r <region></region></code>指定 Region 使用。</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd -b <bucketname-appid> deletebucket <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd deletebucket coscmd -b examplebucket-1250000000 -r ap-beijing deletebucket coscmd -b examplebucket-1250000000 -r ap-beijing deletebucket -f </bucketname-appid></code></pre></div></div><ul><li>使用<code>-f</code>参数则会强制删除该存储桶,包括所有文件、开启版本控制之后历史文件夹、上传产生的碎片。</li></ul><h3 id=".E4.B8.8A.E4.BC.A0.E6.96.87.E4.BB.B6.E6.88.96.E6.96.87.E4.BB.B6.E5.A4.B9">上传文件或文件夹</h3><ul><li>上传文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd upload <localpath> <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> <span class="hljs-meta">#</span><span class="bash">将本地的 /data/exampleobject 文件上传到 cos 的 data/exampleobject 路径下</span> coscmd upload /data/exampleobject data/exampleobject coscmd upload /data/exampleobject data/ <span class="hljs-meta">#</span><span class="bash">指定头部上传文件</span> <span class="hljs-meta">#</span><span class="bash">指定对象类型,上传一个归档的文件</span> coscmd upload /data/exampleobject data/exampleobject -H "{'x-cos-storage-class':'Archive'}" <span class="hljs-meta">#</span><span class="bash">设置 meta 元属性</span> coscmd upload /data/exampleobject data/exampleobject -H "{'x-cos-meta-example':'example'}" </cospath></localpath></code></pre></div></div><ul><li>上传文件夹命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd upload -r <localpath> <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd upload -r /data/examplefolder data/examplefolder coscmd upload -r /data/examplefolder data/examplefolder <span class="hljs-meta">#</span><span class="bash">cos上的存储路径为 examplefolder2/examplefolder</span> coscmd upload -r /data/examplefolder examplefolder2/ <span class="hljs-meta">#</span><span class="bash">上传到 bucket 根目录</span> coscmd upload -r /data/examplefolder/ / <span class="hljs-meta">#</span><span class="bash">同步上传,跳过md5相同的文件</span> coscmd upload -rs /data/examplefolder data/examplefolder <span class="hljs-meta">#</span><span class="bash">忽略 .txt 和 .doc 的后缀文件</span> coscmd upload -rs /data/examplefolder data/examplefolder --ignore *.txt,*.doc </cospath></localpath></code></pre></div></div><p>请将 "<>" 中的参数替换为您需要上传的本地文件路径(localpath),以及 COS 上存储的路径(cospath)。</p><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p></p><ul><li>上传文件时需要将 COS 上的路径包括文件(文件夹)的名字补全(参考例子)。</li><li>COSCMD 支持大文件断点上传功能;当分片上传大文件失败时,重新上传该文件只会上传失败的分块,而不会从头开始(请保证重新上传的文件的目录以及内容和上传的目录保持一致)。</li><li>COSCMD 分块上传时会对每一块进行 MD5 校验。</li><li>COSCMD 上传默认会携带 <code>x-cos-meta-md5</code> 的头部,值为该文件的 md5 值。</li><li>使用 -s 参数可以使用同步上传,跳过上传 md5 一致的文件(COS 上的原文件必须是由 1.8.3.2 之后的 COSCMD 上传的,默认带有 x-cos-meta-md5 的 header)。</li><li>使用 -H 参数设置 HTTP header 时,请务必保证格式为 JSON,示例:<code>coscmd upload -H "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" <localpath> <cospath></cospath></localpath></code>。更多头部可参见 <a href="https://cloud.tencent.com/document/product/436/7749" target="_blank">PUT Object</a> 文档。</li><li>在上传文件夹时,使用<code>--ignore</code>参数可以忽略某一类文件,支持 shell 通配规则,支持多条规则,用逗号<code>,</code>分隔。当忽略一类后缀时,必须最后要输入<code>,</code> 或者加入<code>""</code>。</li><li>目前只支持上传最大40TB的单一文件。</li></ul></blockquote><h3 id=".E4.B8.8B.E8.BD.BD.E6.96.87.E4.BB.B6.E6.88.96.E6.96.87.E4.BB.B6.E5.A4.B9">下载文件或文件夹</h3><ul><li>下载文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd download <cospath> <localpath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd download data/exampleobject /data/exampleobject coscmd download data/exampleobject /data/ </localpath></cospath></code></pre></div></div><ul><li>下载文件夹命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd download -r <cospath> <localpath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd download -r data/examplefolder/ /data/examplefolder coscmd download -r data/examplefolder/ /data/ <span class="hljs-meta">#</span><span class="bash">覆盖下载当前bucket根目录下所有的文件</span> coscmd download -rf / /data/examplefolder <span class="hljs-meta">#</span><span class="bash">同步下载当前 bucket 根目录下所有的文件,跳过 md5校验相同的文件</span> coscmd download -rs / /data/examplefolder <span class="hljs-meta">#</span><span class="bash">忽略 .txt 和 .doc 的后缀文件</span> coscmd download -rs / /data/examplefolder --ignore *.txt,*.doc </localpath></cospath></code></pre></div></div><p>请将 "<>" 中的参数替换为您需要下载的 COS 上文件的路径(cospath),以及本地存储路径(localpath)。</p><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p></p><ul><li>老版本的 mget 接口已经废除,download 接口使用分块下载,请使用 download 接口。</li><li>若本地存在同名文件,则会下载失败,需要使用<code>-f</code>参数覆盖本地文件。</li><li>使用 <code>-s</code> 或者 <code>--sync</code> 参数,可以在下载文件夹时跳过本地已存在的相同文件(前提是下载的文件是通过 COSCMD 的 upload 接口上传的,文件携带有 <code>x-cos-meta-md5</code> 头部)。</li><li>在下载文件夹时,使用<code>--ignore</code>参数可以忽略某一类文件,支持 shell 通配规则,支持多条规则,用逗号<code>,</code>分隔。当忽略一类后缀时,必须最后要输入<code>,</code>或者加入<code>""</code>。</li></ul></blockquote><h3 id=".E5.88.A0.E9.99.A4.E6.96.87.E4.BB.B6.E6.88.96.E6.96.87.E4.BB.B6.E5.A4.B9">删除文件或文件夹</h3><ul><li>删除文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd delete <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd delete data/exampleobject </cospath></code></pre></div></div><ul><li>删除文件夹命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd delete -r <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd delete -r /data/examplefolder/ coscmd delete -r /</cospath></code></pre></div></div><p>请将"<>"中的参数替换为您需要删除的 COS 上文件的路径(cospath),工具会提示用户是否确认进行删除操作。</p><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>批量删除需要输<code>y</code>入确定,使用<code>-f</code>参数则可以跳过确认直接删除。</p></blockquote><h3 id=".E6.9F.A5.E8.AF.A2.E5.88.86.E5.9D.97.E4.B8.8A.E4.BC.A0.E6.96.87.E4.BB.B6.E7.A2.8E.E7.89.87">查询分块上传文件碎片</h3><ul><li>命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd listparts <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd listparts examplefolder/</cospath></code></pre></div></div><h3 id=".E6.B8.85.E9.99.A4.E5.88.86.E5.9D.97.E4.B8.8A.E4.BC.A0.E6.96.87.E4.BB.B6.E7.A2.8E.E7.89.87">清除分块上传文件碎片</h3><ul><li>命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd abort <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd abort</code></pre></div></div><h3 id=".E5.A4.8D.E5.88.B6.E6.96.87.E4.BB.B6.E6.88.96.E6.96.87.E4.BB.B6.E5.A4.B9">复制文件或文件夹</h3><ul><li>复制文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd copy <sourcepath> <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> <span class="hljs-meta">#</span><span class="bash">复制 examplebucket2-1250000000 存储桶下的 data/exampleobject 对象到 examplebucket1-1250000000 存储桶的 data/examplefolder/exampleobject</span> coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/data/exampleobject data/examplefolder/exampleobject <span class="hljs-meta">#</span><span class="bash">修改存储类型,将文件类型改为低频</span> coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/data/exampleobject data/examplefolder/exampleobject -H "{'x-cos-storage-class':'STANDARD_IA'}" <span class="hljs-meta">#</span><span class="bash">修改存储类型,将文件类型改为归档</span> coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy examplebucket2-1250000000.ap-beijing.myqcloud.com/data/exampleobject data/examplefolder/exampleobject -H "{'x-cos-storage-class':'Archive'}"</cospath></sourcepath></code></pre></div></div><ul><li>复制文件夹命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd copy -r <sourcepath> <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> <span class="hljs-meta">#</span><span class="bash">复制 examplebucket2-1250000000 存储桶下的 examplefolder 目录到 examplebucket1-1250000000 存储桶的 examplefolder 目录</span> coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy -r examplebucket2-1250000000.cos.ap-guangzhou.myqcloud.com/examplefolder/ examplefolder coscmd -b examplebucket1-1250000000 -r ap-guangzhou copy -r examplebucket2-1250000000.cos.ap-guangzhou.myqcloud.com/examplefolder/ examplefolder/ </cospath></sourcepath></code></pre></div></div><p>请将"<>"中的参数替换为您需要复制的 COS 上文件的路径(sourcepath),和您需要复制到 COS 上文件的路径(cospath)。</p><blockquote class="doc-tip"><p class="doc-tip-tit"><i class="doc-icon-tip"></i>说明:</p><p></p><ul><li>sourcepath 的格式为:<code><bucketname-appid>.cos.<region>.myqcloud.com/<cospath></cospath></region></bucketname-appid></code>。</li><li>使用 -d 参数可以设置 <code>x-cos-metadata-directive</code> 参数,可选值为 Copy 和 Replaced,默认为 Copy。</li><li>使用 -H 参数设置 HTTP header 时,请务必保证格式为 JSON,示例:<code>coscmd copy -H -d Replaced "{'x-cos-storage-class':'Archive','Content-Language':'zh-CN'}" <localpath> <cospath></cospath></localpath></code>。更多头部请参见 <a href="https://cloud.tencent.com/document/product/436/10881" target="_blank">PUT Object - Copy</a> 文档。</li></ul></blockquote><h3 id=".E6.9F.A5.E8.AF.A2.E6.96.87.E4.BB.B6.E5.88.97.E8.A1.A8">查询文件列表</h3><p>查询命令如下:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd list <cospath> <span class="hljs-meta"> #</span><span class="bash">操作示例</span> <span class="hljs-meta">#</span><span class="bash">递归查询该存储桶下所有的文件列表</span> coscmd list -ar <span class="hljs-meta">#</span><span class="bash">递归查询 examplefolder 前缀的所有文件列表</span> coscmd list examplefolder/ -ar</cospath></code></pre></div></div><p>请将"<>"中的参数替换为您需要查询文件列表的 COS 上文件的路径(cospath)。</p><ul><li>使用<code>-a</code>查询全部文件。</li><li>使用<code>-r</code>递归查询,并且会在末尾返回列出文件的数量和大小之和。</li><li>使用<code>-n num</code>设置查询数量的最大值。</li></ul><blockquote class="doc-tip"><p class="doc-tip-tit"><i class="doc-icon-tip"></i>说明:</p><p><code><cospath></cospath></code>为空默认查询当前存储桶根目录。</p></blockquote><h3 id=".E6.98.BE.E7.A4.BA.E6.96.87.E4.BB.B6.E4.BF.A1.E6.81.AF">显示文件信息</h3><p>命令如下:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd info <cospath> <span class="hljs-meta"> #</span><span class="bash">操作示例</span> coscmd info exampleobject</cospath></code></pre></div></div><p>请将"<>"中的参数替换为您需要显示的 COS 上文件的路径(cospath)。</p><h3 id=".E8.8E.B7.E5.8F.96.E5.B8.A6.E7.AD.BE.E5.90.8D.E7.9A.84.E4.B8.8B.E8.BD.BD-url">获取带签名的下载 URL</h3><p>命令如下:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd signurl <cospath> <span class="hljs-meta"> #</span><span class="bash">操作示例</span> coscmd signurl exampleobject coscmd signurl exampleobject -t 100</cospath></code></pre></div></div><p>请将 "<>" 中的参数替换为您需要获取下载 URL 的 COS 上文件的路径(cospath)。<br data-filtered="filtered">使用<code>-t time</code>设置查询签名的有效时间(单位为秒)。</p><h3 id=".E5.BC.80.E5.90.AF.2F.E6.9A.82.E5.81.9C.E7.89.88.E6.9C.AC.E6.8E.A7.E5.88.B6">开启/暂停版本控制</h3><p>命令如下:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd putbucketversioning <status> <span class="hljs-meta"> #</span><span class="bash">开启版本控制</span> coscmd putbucketversioning Enabled <span class="hljs-meta"> #</span><span class="bash">暂停版本控制</span> coscmd putbucketversioning Suspended</status></code></pre></div></div><p>请将 "<>" 中的参数替换为您需要版本控制状态(status)。</p><blockquote class="doc-notice"><p class="doc-notice-tit"><i class="doc-icon-notice"></i>注意:</p><p>一旦您对存储桶启用了版本控制,它将无法返回到未启用版本控制状态(初始状态)。但是,您可以对该存储桶暂停版本控制,这样后续上传的对象将不会产生多个版本。</p></blockquote><h3 id=".E6.81.A2.E5.A4.8D.E5.BD.92.E6.A1.A3.E6.96.87.E4.BB.B6">恢复归档文件</h3><ul><li>恢复归档文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd restore <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd restore -d 3 -t Expedited exampleobject</cospath></code></pre></div></div><ul><li>批量恢复归档文件命令如下:</li></ul><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">命令格式</span> coscmd restore -r <cospath> <span class="hljs-meta">#</span><span class="bash">操作示例</span> coscmd restore -r -d 3 -t Expedited examplefolder/</cospath></code></pre></div></div><p>请将 "<>" 中的参数替换为您需要查询文件列表的 COS 上文件的路径(cospath)。</p><ul><li>使用<code>-d day</code>设置临时副本的过期时间,默认值:7。</li><li>使用<code>-t tier</code>具体复原过程类型,枚举值: Expedited (极速模式) ,Standard (标准模式),Bulk(批量模式),默认值:Standard。</li></ul><h3 id="debug-.E6.A8.A1.E5.BC.8F.E6.89.A7.E8.A1.8C.E5.91.BD.E4.BB.A4">Debug 模式执行命令</h3><p>在各命令前加上<code>-d</code>或者<code>-debug</code>,在命令执行的过程中,会显示详细的操作信息 。示例如下:</p><div class="markdown-code J-markdownCode"><div class="markdown-code-bd J-codeBox"><ul class="code-toolbars"><li><a data-bypass-xhr="1" class="J-copyContent code-toolbars-item" style="text-align: center;"><i class="icon copy"></i></a></li></ul><pre><code class="language-shell"><span class="hljs-meta">#</span><span class="bash">显示 upload 的详细操作信息,命令格式:</span> coscmd -d upload <localpath> <cospath> <span class="hljs-meta"> #</span><span class="bash">操作示例</span> coscmd -d upload exampleobject exampleobject</cospath></localpath></code></pre></div></div>
立即提交