coscmd文檔v1.8.3.0

功能說(shuō)明

使用 COSCMD 工具灰署,用戶可通過(guò)簡(jiǎn)單的命令行指令實(shí)現(xiàn)對(duì)對(duì)象(Object)的批量上傳判帮、下載、刪除等操作溉箕。

使用限制

適用于 COS V4晦墙、V5 版本;針對(duì) V3 遷移過(guò)來(lái)的用戶也可以使用肴茄,但要用 V3 用戶的 appid 才可以晌畅。

使用環(huán)境

系統(tǒng)環(huán)境

Windows 或 Linux 系統(tǒng)
(請(qǐng)保證本地字符格式為utf-8,否則操作中文文件會(huì)出現(xiàn)異常)

軟件依賴

Python 2.7
并裝有最新版本的 pip

安裝及配置

環(huán)境安裝與配置詳細(xì)操作請(qǐng)參考 Python 安裝與配置寡痰。

下載與安裝

  • 手動(dòng)安裝
    下載鏈接:GitHub 鏈接
    在該項(xiàng)目根目錄下使用如下命令安裝:
python setup.py install
  • pip 安裝
    執(zhí)行pip命令進(jìn)行安裝:
pip install coscmd

安裝成功之后抗楔,用戶可以通過(guò)-v或者--version命令查看當(dāng)前的版本信息。

  • pip 更新
    執(zhí)行pip命令進(jìn)行更新:
pip install coscmd -U

注意:
不論是在 Linux 還是 Windows 環(huán)境下拦坠,都可以通過(guò)以上的方法安裝或更新连躏。

使用方法

查看 help

用戶可通過(guò)-h--help命令來(lái)查看工具的 help 信息。

coscmd -h  //查看當(dāng)面版本信息

help 信息如下所示:

usage: cos_cmd.py [-h] [-d] [-b BUCKET] [-r REGION] [-c CONFIG_PATH]
                  [-l LOG_PATH] [-v]
                  {config,upload,download,delete,copy,list,info,mget,restore,signurl,createbucket,deletebucket,putobjectacl,getobjectacl,putbucketacl,getbucketacl}
                  ...

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:
  {config,upload,download,delete,copy,list,info,mget,restore,signurl,createbucket,deletebucket,putobjectacl,getobjectacl,putbucketacl,getbucketacl}
    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
    copy                copy file from COS to COS.
    list                list files on COS
    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

optional arguments:
  -h, --help            show this help message and exit
  -d, --debug           debug mode
  -b BUCKET, --bucket BUCKET
                        set bucket
  -r REGION, --region REGION
                        set region
  -c CONFIG_PATH, --config_path CONFIG_PATH
                        set config_path
  -l LOG_PATH, --log_path LOG_PATH
                        set log_path
  -v, --version         show program's version number and exit

除此之外贞滨,用戶還可以在每個(gè)命令后(不加參數(shù))輸入-h查看該命令的具體用法入热,例如:

coscmd upload -h  //查看 upload 命令使用方法

配置參數(shù)

COSCMD 工具在使用前需要進(jìn)行參數(shù)配置。用戶可以通過(guò)如下命令來(lái)配置:

coscmd config -a <secret_id> -s <secret_key> -b <bucket> -r <region> [-m <max_thread>] [-p <parts_size>]      

上述示例中使用"<>"的字段為必選參數(shù)晓铆,使用"[]"的字段為可選參數(shù)勺良。其中:

名稱 描述 有效值
secret_id 必選參數(shù),APPID 對(duì)應(yīng)的密鑰 ID尤蒿,可從控制臺(tái)獲取郑气,參考 基本概念 字符串
secret_key 必選參數(shù)腰池,APPID 對(duì)應(yīng)的密鑰 Key尾组,可從控制臺(tái)獲取忙芒,參考 基本概念 字符串
bucket 必選參數(shù)讳侨,指定的存儲(chǔ)桶名稱呵萨,bucket的命名規(guī)則為{name}-{appid} ,參考 創(chuàng)建存儲(chǔ)桶跨跨。 字符串
region 必選參數(shù)潮峦,存儲(chǔ)桶所在地域。參考 可用地域勇婴。 字符串
max_thread 可選參數(shù)忱嘹,多線程上傳時(shí)的最大線程數(shù)(默認(rèn)為 5),有效值:1~10 數(shù)字
parts_size 可選參數(shù)耕渴,分塊上傳的單塊大芯性谩(單位為 MB,默認(rèn)為 1MB)橱脸,有效值:1~10 數(shù)字

注意:

  1. 可以直接編輯~/.cos.conf文件 (在 Windows 環(huán)境下础米,該文件是位于我的文檔下的一個(gè)隱藏文件)。
    配置完成之后的.cos.conf文件內(nèi)容示例如下所示:
  2. 可以在配置文件中增加schema項(xiàng)來(lái)選擇http / https添诉,默認(rèn)為https
  3. bucket的命名規(guī)則為 {name}-{appid}
 [common]
secret_id = AChT4ThiXAbpBDEFGhT4ThiXAbpHIJK
secret_key = WE54wreefvds3462refgwewerewr
bucket = ABC-1234567890
region = ap-guangzhou
max_thread = 5
part_size = 1
schema = https

指定 Bucket 的命令

  • 通過(guò)-b <bucket> 指定 Bucket可以指定特定 Bucket屁桑。
  • Bucket 的命名規(guī)則為{name}-{appid} ,此處填寫的存儲(chǔ)桶名稱必須為此格式栏赴。
coscmd -b <bucket> method ...  //命令格式
coscmd -b AAA-12345567 upload a.txt b.txt  //操作示例-上傳文件
coscmd -b AAA-12344567 createbucket  //操作示例-創(chuàng)建bucket

創(chuàng)建 Bucket

  • 建議配合-b <bucket> 指定 Bucket使用蘑斧。
coscmd -b <bucket> createbucket //命令格式
coscmd createbucket  //操作示例
coscmd -b AAA-12344567 createbucket  //操作示例

刪除 Bucket

  • 建議配合-b <bucket> 指定 Bucket使用。
coscmd -b <bucket> deletebucket //命令格式
coscmd createbucket  //操作示例
coscmd -b AAA-12344567 deletebucket  //操作示例

上傳文件或文件夾

  • 上傳文件命令如下:
coscmd upload <localpath> <cospath>  //命令格式
coscmd upload /home/aaa/123.txt bbb/123.txt  //操作示例
coscmd upload /home/aaa/123.txt bbb/  //操作示例
  • 上傳文件夾命令如下:
coscmd upload -r <localpath> <cospath>  //命令格式
coscmd upload -r /home/aaa/ bbb/aaa  //操作示例
coscmd upload -r /home/aaa/ bbb/  //操作示例
coscmd upload -r /home/aaa/ /  //上傳到bucket根目錄
coscmd upload -rs /home/aaa/ /home/aaa  //同步上傳艾帐,跳過(guò)md5相同的文件
coscmd upload -rs /home/aaa/ /home/aaa --ignore *.txt,*.doc //忽略.txt和.doc的后綴文件

請(qǐng)將 "<>" 中的參數(shù)替換為您需要上傳的本地文件路徑(localpath)乌叶,以及 COS 上存儲(chǔ)的路徑(cospath)。

注意:

  • 上傳文件時(shí)需要將cos上的路徑包括文件(夾)的名字補(bǔ)全(參考例子)柒爸。
  • COSCMD 支持大文件斷點(diǎn)上傳功能准浴。當(dāng)分片上傳大文件失敗時(shí),重新上傳該文件只會(huì)上傳失敗的分塊捎稚,而不會(huì)從頭開(kāi)始(請(qǐng)保證重新上傳的文件的目錄以及內(nèi)容和上傳的目錄保持一致)乐横。
  • COSCMD 分塊上傳時(shí)會(huì)對(duì)每一塊進(jìn)行 MD5 校驗(yàn)。
  • COSMCD 上傳默認(rèn)會(huì)攜帶 x-cos-meta-md5 的頭部今野,值為該文件的 md5
  • 使用-s參數(shù)可以使用同步上傳葡公,跳過(guò)上傳md5一致的文件(cos上的原文件必須是由1.8.3.2之后的COSCMD上傳的,默認(rèn)帶有x-cos-meta-md5的header)
  • 使用-H參數(shù)設(shè)置HTTP header時(shí)条霜,請(qǐng)務(wù)必保證格式為json催什,這里是個(gè)例子:coscmd upload -H '{"Cache-Control":"max-age=31536000","Content-Language":"zh-CN"}' <localpath> <cospath>
  • 在上傳文件夾時(shí),使用--ignore參數(shù)可以忽略某一類文件宰睡,支持shell通配規(guī)則蒲凶,支持多條規(guī)則气筋,用逗號(hào)分隔
  • 目前只支持上傳最大40T的單文件

下載文件或文件夾

  • 下載文件命令如下:
coscmd download <cospath> <localpath>  //命令格式
coscmd download bbb/123.txt /home/aaa/111.txt  //操作示例
coscmd download bbb/123.txt /home/aaa/  //操作示例
  • 下載文件夾命令如下:
coscmd download -r <cospath> <localpath> //命令格式
coscmd download -r /home/aaa/ bbb/aaa  //操作示例
coscmd download -r /home/aaa/ bbb/  //操作示例
coscmd download -rf / bbb/aaa  //覆蓋下載當(dāng)前bucket根目錄下所有的文件
coscmd download -rs / bbb/aaa  //同步下載當(dāng)前bucket根目錄下所有的文件,跳過(guò)md5校驗(yàn)相同的文件旋圆。
coscmd download -rs / bbb/aaa --ignore *.txt,*.doc //忽略.txt和.doc的后綴文件

請(qǐng)將 "<>" 中的參數(shù)替換為您需要下載的 COS 上文件的路徑(cospath)宠默,以及本地存儲(chǔ)路徑(localpath)。

注意:

  • 若本地存在同名文件灵巧,則會(huì)下載失敗搀矫。使用 -f 參數(shù)覆蓋本地文件。
  • download 接口使用分塊下載刻肄,老版本的 mget 接口已經(jīng)廢除瓤球,請(qǐng)使用 download 接口。
  • 使用 -s 或者 --sync 參數(shù)敏弃,可以在下載文件夾時(shí)跳過(guò)本地已存在的相同文
    件 (前提是下載文件夾是通過(guò) COSCMDupload 接口上傳的冰垄,文件攜帶有 x-cos-meta-md5 頭部)
  • 在下載文件夾時(shí),使用--ignore參數(shù)可以忽略某一類文件权她,支持shell通配規(guī)則,支持多條規(guī)則逝薪,用逗號(hào)分隔

刪除文件或文件夾

  • 刪除文件命令如下:
coscmd delete <cospath>  //命令格式
coscmd delete bbb/123.txt  //操作示例
  • 刪除文件夾命令如下:
coscmd delete -r <cospath>  //命令格式
coscmd delete -r bbb/  //操作示例
coscmd delete -r /  //操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要?jiǎng)h除的 COS 上文件的路徑(cospath)隅要。工具會(huì)提示用戶是否確認(rèn)進(jìn)行刪除操作。

注意:

  • 批量刪除需要輸入確定董济,使用 -f 參數(shù)跳過(guò)確認(rèn) 步清。

復(fù)制文件或文件夾

  • 復(fù)制文件命令如下:
coscmd copy <sourcepath> <cospath>  //命令格式
coscmd copy bucket-appid.cos.ap-guangzhou.myqcloud.com/a.txt aaa/123.txt  //操作示例
  • 復(fù)制文件夾命令如下:
coscmd copy -r <sourcepath> <cospath>  //命令格式
coscmd copy -r bucket-appid.cos.ap-guangzhou.myqcloud.com/coscmd/ aaa //操作示例
coscmd copy -r bucket-appid.cos.ap-guangzhou.myqcloud.com/coscmd/ aaa/ //操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要復(fù)制的 COS 上文件的路徑(sourcepath),和您需要復(fù)制到 COS 上文件的路徑(cospath)虏肾。

注意:
sourcepath 的樣式如下:<bucketname>-<appid>.cos.<region>.myqcloud.com/<cospath>

打印文件列表

  • 打印命令如下:
coscmd list <cospath>  //命令格式
coscmd list -a //操作示例
coscmd list bbb/123.txt  -r -n 10 //操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要打印文件列表的 COS 上文件的路徑(cospath)廓啊。

  • 使用-a打印全部文件。
  • 使用 -r 遞歸打印封豪,并且會(huì)在末尾返回列出文件的數(shù)量和大小之和谴轮。
  • 使用 -n num 設(shè)置打印數(shù)量的最大值。

注意:
<cospath>為空默認(rèn)打印當(dāng)前 Bucket 根目錄吹埠。

顯示文件信息

  • 命令如下:
coscmd info <cospath>  //命令格式
coscmd info bbb/123.txt //操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要顯示的 COS 上文件的路徑(cospath)第步。

獲取帶簽名的下載 URL

  • 命令如下:
coscmd sigurl<cospath>  //命令格式
coscmd signurl bbb/123.txt //操作示例
coscmd signurl bbb/123.txt -t 100//操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要獲取下載url的 COS 上文件的路徑(cospath)。
使用 -t time 設(shè)置打印簽名的有效時(shí)間(單位為秒)缘琅。

設(shè)置訪問(wèn)控制(ACL)

  • 命令如下:
    使用如下命令設(shè)置 Bucket 的訪問(wèn)控制:
coscmd putbucketacl [--grant-read GRANT_READ]  [--grant-write GRANT_WRITE] [--grant-full-control GRANT_FULL_CONTROL] //命令格式
coscmd putbucketacl --grant-read 12345678,12345678/11111 --grant-write anyone --grant-full-control 12345678/22222 //操作示例

使用如下命令設(shè)置 Object 的訪問(wèn)控制:

coscmd putbucketacl [--grant-read GRANT_READ] [--grant-write GRANT_WRITE] [--grant-full-control GRANT_FULL_CONTROL] <cospath> //命令格式
coscmd putbucketacl --grant-read 12345678,12345678/11111 --grant-write anyone --grant-full-control 12345678/22222 aaa/aaa.txt //操作示例

ACL 設(shè)置指南

  • --grant-read 代表讀的權(quán)限粘都。
  • --grant-write 代表寫的權(quán)限。
  • --grant-full-control 代表讀寫的權(quán)限刷袍。
  • GRANT_READ / GRANT_WRITE / GRANT_FILL_CONTORL 代表被賦權(quán)的帳號(hào)翩隧。
  • 若賦權(quán)根帳號(hào),使用 rootid 的形式呻纹;
  • 若賦權(quán)子賬戶堆生,使用 rootid/subid 的形式专缠;
  • 若需要對(duì)所有人賦權(quán),使用 anyone 的形式顽频。
  • 同時(shí)賦權(quán)的多個(gè)帳號(hào)用逗號(hào),隔開(kāi)藤肢。
  • 請(qǐng)將參數(shù)替換為您所需要?jiǎng)h除的 COS 上文件的路徑(cospath)。

獲取訪問(wèn)控制(ACL)

  • 使用如下命令設(shè)置 Bucket 的訪問(wèn)控制:
coscmd getbucketacl //命令格式
coscmd getbucketacl //操作示例
  • 使用如下命令設(shè)置 Object 的訪問(wèn)控制:
coscmd putbucketacl <cospath> //命令格式
coscmd getobjectacl aaa/aaa.txt //操作示例

恢復(fù)歸檔文件

  • 命令如下:
coscmd restore <cospath>  //命令格式
coscmd restore a.txt -d 3 -t  Expedited//操作示例
coscmd restore a.txt -d 3 -t  Bulk///操作示例

請(qǐng)將"<>"中的參數(shù)替換為您需要打印文件列表的 COS 上文件的路徑(cospath)糯景。

  • 使用 -d day 設(shè)置臨時(shí)副本的過(guò)期時(shí)間嘁圈;默認(rèn)值:7。
  • 使用 -t tier 具體復(fù)原過(guò)程類型蟀淮,枚舉值: Expedited 最住,Standard ,Bulk怠惶;默認(rèn)值:Standard涨缚。

Debug 模式執(zhí)行命令

在各命令前加上-d或者-debug,在命令執(zhí)行的過(guò)程中策治,會(huì)顯示詳細(xì)的操作信息 脓魏。示例如下:

//顯示upload的詳細(xì)操作信息
coscmd -d upload <localpath> <cospath>  //命令格式
coscmd -d upload /home/aaa/123.txt bbb/123.txt  //操作示例
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市通惫,隨后出現(xiàn)的幾起案子茂翔,更是在濱河造成了極大的恐慌,老刑警劉巖履腋,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件珊燎,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡遵湖,警方通過(guò)查閱死者的電腦和手機(jī)悔政,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)延旧,“玉大人谋国,你說(shuō)我怎么就攤上這事∏” “怎么了烹卒?”我有些...
    開(kāi)封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)弯洗。 經(jīng)常有香客問(wèn)我旅急,道長(zhǎng),這世上最難降的妖魔是什么牡整? 我笑而不...
    開(kāi)封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任藐吮,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谣辞。我一直安慰自己迫摔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布泥从。 她就那樣靜靜地躺著句占,像睡著了一般。 火紅的嫁衣襯著肌膚如雪躯嫉。 梳的紋絲不亂的頭發(fā)上纱烘,一...
    開(kāi)封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音祈餐,去河邊找鬼擂啥。 笑死,一個(gè)胖子當(dāng)著我的面吹牛帆阳,可吹牛的內(nèi)容都是我干的哺壶。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼蜒谤,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼山宾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起鳍徽,我...
    開(kāi)封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤塌碌,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后旬盯,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡翎猛,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年胖翰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片切厘。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡萨咳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出疫稿,到底是詐尸還是另有隱情培他,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布遗座,位于F島的核電站舀凛,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏途蒋。R本人自食惡果不足惜猛遍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧懊烤,春花似錦梯醒、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至壁肋,卻和暖如春号胚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背墩划。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工涕刚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乙帮。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓杜漠,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親察净。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驾茴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345