功能說(shuō)明
使用 COSCMD 工具侠畔,用戶可通過(guò)簡(jiǎn)單的命令行指令實(shí)現(xiàn)對(duì)對(duì)象(Object)的批量上傳撮慨、下載竿痰、刪除等操作脆粥。
使用限制
- 適用于 COS V4、V5 版本影涉;
使用環(huán)境
系統(tǒng)環(huán)境
Windows 或 Linux 系統(tǒng)
軟件依賴
Python 2.6/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)前的版本信息蟹倾。如下圖所示:
[圖片上傳失敗...(image-8f816e-1513760626623)]
-
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 信息如下圖所示:
[圖片上傳失敗...(image-6c5ae4-1513760626623)]
除此之外鲜棠,用戶還可以在每個(gè)命令后(不加參數(shù))輸入-h
查看該命令的具體用法肌厨,例如:
coscmd upload -h //查看 upload 命令使用方法
配置參數(shù)
COSCMD 工具在使用前需要進(jìn)行參數(shù)配置。用戶可以直接編輯~/.cos.conf
文件豁陆,也可以通過(guò)如下命令來(lái)配置:
coscmd config -a <access_id> -s <secret_key> -u <appid> -b <bucketname> -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)獲取原押,參考 基本概念胁镐。 | 字符串 |
appid | 必選參數(shù),需要進(jìn)行操作的 APPID诸衔,可從控制臺(tái)獲取盯漂,參考 基本概念。 | 數(shù)字 |
bucketname | 必選參數(shù)笨农,指定的存儲(chǔ)桶名稱就缆, 需要提前在控制臺(tái)建立,參考 創(chuàng)建存儲(chǔ)桶谒亦。 | 字符串 |
region | 必選參數(shù)竭宰,存儲(chǔ)桶所在地域。有效值:cn-south(華南)份招、 cn-north(華北)切揭、cn-east(華東)、cn-southwest(西南)锁摔、sg(新加坡)廓旬,參考 可用地域。 | 字符串 |
max_thread | 可選參數(shù)谐腰,多線程上傳時(shí)的最大線程數(shù)(默認(rèn)為 5)孕豹,有效值:1~10 | 數(shù)字 |
parts_size | 可選參數(shù)涩盾,分塊上傳的單塊大小(單位為 M励背,默認(rèn)為 1M)春霍,有效值:1~10 | 數(shù)字 |
配置完成之后的.cos.conf
文件內(nèi)容示例如下所示:
[common]
secret_id = AChT4ThiXAbpBDEFGhT4ThiXAbpHIJK
secret_key = WE54wreefvds3462refgwewerewr
appid = 1234567890
bucket = ABC
region = cn-south
max_thread = 5
part_size = 1
上傳文件或文件夾
- 上傳文件命令如下:
coscmd upload <localpath> <cospath> //命令格式
coscmd upload /home/aaa/123.txt bbb/123.txt //操作示例
- 上傳文件夾命令如下:
coscmd upload -r <localpath> <cospath> //命令格式
coscmd upload -r /home/aaa/ bbb/ //操作示例
請(qǐng)將 "<>" 中的參數(shù)替換為您需要上傳的本地文件路徑(localpath),以及 COS 上存儲(chǔ)的路徑(cospath)叶眉。
注意:
- 上傳文件時(shí)需要將cos上的路徑包括文件(夾)的名字補(bǔ)全(參考例子)址儒。
- COSCMD 支持大文件斷點(diǎn)上傳功能。當(dāng)分片上傳大文件失敗時(shí)竟闪,重新上傳該文件只會(huì)上傳失敗的分塊离福,而不會(huì)從頭開始(請(qǐng)保證重新上傳的文件的目錄以及內(nèi)容和上傳的目錄保持一致)。
下載文件或文件夾
下載文件命令如下:
coscmd download <cospath> <localpath> //命令格式
coscmd download bbb/123.txt /home/aaa/111.txt //操作示例
- 如下下載文件夾命令如下:
coscmd download-r <cospath> <localpath> //命令格式
coscmd download -r /home/aaa/ bbb/ //操作示例
請(qǐng)將 "<>" 中的參數(shù)替換為您需要下載的 COS 上文件的路徑(cospath)炼蛤,以及本地存儲(chǔ)路徑(localpath)妖爷。
注意:
- 若本地存在同名文件,則會(huì)下載失敗理朋。使用
-f
參數(shù)覆蓋本地文件
刪除文件或文件夾
- 刪除文件命令如下:
coscmd delete <cospath> //命令格式
coscmd delete bbb/123.txt //操作示例
- 如下刪除文件夾命令如下:
coscmd delete -r <cospath> //命令格式
coscmd delete -r bbb/ //操作示例
請(qǐng)將"<>"中的參數(shù)替換為您需要?jiǎng)h除的 COS 上文件的路徑(cospath)絮识。工具會(huì)提示用戶是否確認(rèn)進(jìn)行刪除操作。
注意:
- 批量刪除需要輸入確定嗽上,使用
-f
參數(shù)跳過(guò)確認(rèn)
打印文件列表
- 打印命令如下:
coscmd list <cospath> //命令格式
coscmd list -a //操作示例
coscmd list bbb/123.txt -r -n 10 //操作示例
請(qǐng)將"<>"中的參數(shù)替換為您需要打印文件列表的 COS 上文件的路徑(cospath)次舌。
- 使用
-a
打印全部文件 - 使用
-r
遞歸打印 - 使用
-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í)間(單位為秒)
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 //操作示例
設(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 //操作示例
獲取訪問(wèn)控制(ACL)
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í)間 - 使用
-t tier
具體復(fù)原過(guò)程類型,枚舉值: Expedited 洼畅,Standard 吩案,Bulk;默認(rèn)值:Standard