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