功能說明
使用 COSCMD 工具,用戶可通過簡單的命令行指令實現(xiàn)對對象(Object)的批量上傳、下載、刪除等操作。
使用限制
- 適用于 COS V4、V5 版本;
使用環(huán)境
系統(tǒng)環(huán)境
Windows 或 Linux 系統(tǒng)
軟件依賴
Python 2.6/2.7
并裝有最新版本的pip
安裝及配置
環(huán)境安裝與配置詳細操作請參考 Python 安裝與配置。
下載與安裝
-
手動安裝
下載鏈接:GitHub 鏈接
在該項目根目錄下使用如下命令安裝
python setup.py install
-
pip 安裝
執(zhí)行pip命令進行安裝:
pip install coscmd
安裝成功之后,用戶可以通過-v或者--version命令查看當前的版本信息。如下圖所示:
[圖片上傳失敗...(image-8f816e-1513760626623)]
-
pip 更新
下執(zhí)行pip命令進行更新:
pip install coscmd -U
注意不論是在linux還是windows環(huán)境下,都可以通過以上的方法安裝或更新
使用方法
查看 help
用戶可通過-h或--help命令來查看工具的 help 信息。
coscmd -h //查看當面版本信息
help 信息如下圖所示:
[圖片上傳失敗...(image-6c5ae4-1513760626623)]
除此之外,用戶還可以在每個命令后(不加參數(shù))輸入-h查看該命令的具體用法,例如:
coscmd upload -h //查看 upload 命令使用方法
配置參數(shù)
COSCMD 工具在使用前需要進行參數(shù)配置。用戶可以直接編輯~/.cos.conf文件,也可以通過如下命令來配置:
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 對應(yīng)的密鑰 ID,可從控制臺獲取,參考 基本概念。 | 字符串 |
| secret_key | 必選參數(shù),APPID 對應(yīng)的密鑰 Key,可從控制臺獲取,參考 基本概念。 | 字符串 |
| appid | 必選參數(shù),需要進行操作的 APPID,可從控制臺獲取,參考 基本概念。 | 數(shù)字 |
| bucketname | 必選參數(shù),指定的存儲桶名稱, 需要提前在控制臺建立,參考 創(chuàng)建存儲桶。 | 字符串 |
| region | 必選參數(shù),存儲桶所在地域。有效值:cn-south(華南)、 cn-north(華北)、cn-east(華東)、cn-southwest(西南)、sg(新加坡),參考 可用地域。 | 字符串 |
| max_thread | 可選參數(shù),多線程上傳時的最大線程數(shù)(默認為 5),有效值:1~10 | 數(shù)字 |
| parts_size | 可選參數(shù),分塊上傳的單塊大小(單位為 M,默認為 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/ //操作示例
請將 "<>" 中的參數(shù)替換為您需要上傳的本地文件路徑(localpath),以及 COS 上存儲的路徑(cospath)。
注意:
- 上傳文件時需要將cos上的路徑包括文件(夾)的名字補全(參考例子)。
- COSCMD 支持大文件斷點上傳功能。當分片上傳大文件失敗時,重新上傳該文件只會上傳失敗的分塊,而不會從頭開始(請保證重新上傳的文件的目錄以及內(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/ //操作示例
請將 "<>" 中的參數(shù)替換為您需要下載的 COS 上文件的路徑(cospath),以及本地存儲路徑(localpath)。
注意:
- 若本地存在同名文件,則會下載失敗。使用
-f參數(shù)覆蓋本地文件
刪除文件或文件夾
- 刪除文件命令如下:
coscmd delete <cospath> //命令格式
coscmd delete bbb/123.txt //操作示例
- 如下刪除文件夾命令如下:
coscmd delete -r <cospath> //命令格式
coscmd delete -r bbb/ //操作示例
請將"<>"中的參數(shù)替換為您需要刪除的 COS 上文件的路徑(cospath)。工具會提示用戶是否確認進行刪除操作。
注意:
- 批量刪除需要輸入確定,使用
-f參數(shù)跳過確認
打印文件列表
- 打印命令如下:
coscmd list <cospath> //命令格式
coscmd list -a //操作示例
coscmd list bbb/123.txt -r -n 10 //操作示例
請將"<>"中的參數(shù)替換為您需要打印文件列表的 COS 上文件的路徑(cospath)。
- 使用
-a打印全部文件 - 使用
-r遞歸打印 - 使用
-n num設(shè)置打印數(shù)量的最大值
注意:
- <cospath>為空默認打印當前Bucket根目錄
顯示文件信息
- 命令如下:
coscmd info <cospath> //命令格式
coscmd info bbb/123.txt //操作示例
請將"<>"中的參數(shù)替換為您需要顯示的 COS 上文件的路徑(cospath)。
獲取帶簽名的下載url
- 命令如下:
coscmd sigurl<cospath> //命令格式
coscmd signurl bbb/123.txt //操作示例
coscmd signurl bbb/123.txt -t 100//操作示例
請將"<>"中的參數(shù)替換為您需要獲取下載url的 COS 上文件的路徑(cospath)。
- 使用
-t time設(shè)置打印簽名的有效時間(單位為秒)
debug 模式執(zhí)行命令
在各命令前加上-d或者-debug,在命令執(zhí)行的過程中,會顯示詳細的操作信息 。示例如下:
//顯示upload的詳細操作信息
coscmd -d upload <localpath> <cospath> //命令格式
coscmd -d upload /home/aaa/123.txt bbb/123.txt //操作示例
設(shè)置訪問控制(ACL)
- 命令如下:
使用如下命令設(shè)置bucket的訪問控制:
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的訪問控制:
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)
coscmd getbucketacl //命令格式
coscmd getbucketacl //操作示例
使用如下命令設(shè)置object的訪問控制:
coscmd putbucketacl <cospath> //命令格式
coscmd getobjectacl aaa/aaa.txt //操作示例
恢復歸檔文件
- 命令如下:
coscmd restore <cospath> //命令格式
coscmd restore a.txt -d 3 -t Expedited//操作示例
coscmd restore a.txt -d 3 -t Bulk///操作示例
請將"<>"中的參數(shù)替換為您需要打印文件列表的 COS 上文件的路徑(cospath)。
- 使用
-d day設(shè)置臨時副本的過期時間 - 使用
-t tier具體復原過程類型,枚舉值: Expedited ,Standard ,Bulk;默認值:Standard