閱讀102 返回首頁    go windows


OSS 命令介紹__最佳實踐_命令行工具 CLI-阿裏雲

本文檔將通過實例,介紹如何使用 OSS 命令。

Config

命令說明:

Config --host oss.aliyuncs.com --accessid accessid --accesskey accesskey --sts_token token 用於配置命令行工具使用默認的 host、ID 和 KEY。默認的 host 為 oss.aliyuncs.com,如果需要訪問 oss-internal.aliyuncs.com,可以加上 host oss-internal.aliyuncs.com。

使用示範:

  1. aliyuncli oss Config --host oss.aliyuncs.com --accessid accessid --accesskey accesskey --sts_token token

GetAllBucket

命令說明:

GetAllBucket 用於顯示用戶創建的 bucket。

使用示範:

  1. aliyuncli oss GetAllBucket

CreateBucket

命令說明:

CreateBucket oss://bucket --acl [acl] oss://bucket 用於創建 bucket。acl 參數可以傳入,也可以不傳入。

使用示範:

  1. aliyuncli oss CreateBucket oss://myfirstbucket --acl public-read
  1. aliyuncli oss CreateBucket oss://mysecondbucket --acl private
  1. aliyuncli oss CreateBucket oss://mythirdbucket

DeleteBucket

命令說明:

DeleteBucket oss://bucket是刪除 bucket 的命令。

使用示範:

  1. aliyuncli oss DeleteBucket oss://mybucket
  1. aliyuncli oss DeleteBucket oss://myfirstbucket

DeleteWholeBucket

危險:該命令十分危險,將會刪除所有的數據,並且不可恢複。請慎重使用!

命令說明:

DeleteWholeBucket oss://bucket 用於刪除 bucket 及其內部 object 以及 multipart 的相關內容。

使用示範:

  1. aliyuncli oss DeleteWholeBucket oss://mybucket

GetAcl

命令說明:

GetAcl oss://bucket 用於獲取 bucket 的訪問控製權限。

使用示範:

  1. aliyuncli oss GetAcl oss://mybucket

SetAcl

命令說明:

SetAcl oss://bucket –acl [acl] 用於修改 bucket 的訪問控製權限。acl 隻允許為 private、public-read 和 public-read-write 三個當中的一個。

使用示範:

  1. aliyuncli oss SetAcl oss://mybucket --acl private

List

命令說明:

List oss://bucket/[prefix] [marker] [delimiter] [maxkeys] 用於列出 bucket 中的 object。

使用示範:

  1. aliyuncli oss List oss://mybucket/folder1/folder2
  1. aliyuncli oss List oss://mybucket/folder1/folder2 maker1

MkDir

命令說明:

MkDir oss://bucket/dirname 用於創建一個以“/”結尾的 object,並且 size 為 0。

使用示範:

  1. aliyuncli oss MkDir oss://mybucket/folder

ListAllObject

命令說明:

ListAllObject oss://bucket/[prefix] 用於顯示 bucket 下所有的 object,可以指定 prefix 來顯示。

使用示範:

  1. aliyuncli oss ListAllObject oss://mybucket
  1. aliyuncli oss ListAllObject oss://mybucket/testfolder/

DeleteAllObject

危險:該命令十分危險,將會刪除所有的數據,並且不可恢複。請慎重使用!

命令說明:

DeleteAllObject oss://bucket/[prefix]用於刪除 bucket 下所有的 object,可以指定特定的 prefix 來刪除。

使用示範:

  1. aliyuncli oss DeleteAllObject oss://mybucket
  1. aliyuncli oss DeleteAllObject oss://mybucket/testfolder/

DownloadAllObject

命令說明:

DownloadAllObject oss://bucket/[prefix] localdir --replace false 用於將 bucket 下的 object 下載到本地目錄,並且保持目錄結構。可以指定 prefix 下載。replace false 表示如果下載時,本地已經存在同名文件,不會覆蓋。true 則會覆蓋。

使用示範:

  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder
  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder --replace=false
  1. aliyuncli oss DownloadAllObject oss://mybucket /tmp/folder --replace=true

DownloadToDir

命令說明:

DownloadToDir oss://bucket/[prefix] localdir --replace=false 用於將 bucket 下的 object 下載到本地目錄,並且保持目錄結構。可以指定 prefix 下載。replace false 表示如果下載時,本地已經存在同名文件,不會覆蓋。true 則會覆蓋。同 downloadallobject 效果一樣。

使用示範:

  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder
  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder --replace false
  1. aliyuncli oss DownloadToDir oss://mybucket /tmp/folder --replace true

UploadObjectFromLocalDir

命令說明:

UploadObjectFromLocalDir localdir oss://bucket/[prefix] --check_point check_point_file --replace false --check_md5 false --thread_num 5 用於將本地目錄裏的文件上傳到 bucket 中。例如 localdir 為 /tmp/ 裏麵有 a/b、a/c、a 三個文件,則上傳到 OSS 中為 oss://bucket/a/b、oss://bucket/a/c、oss://bucket/a。如果指定了 prefix為mytest,則上傳到 OSS 中為 oss://bucket/mytest/a/b、oss://bucket/mytest/a/c、oss://bucket/mytest/a。check_point check_point_file 是指定文件。指定文件後,osscmd 會將已經上傳的本地文件以時間戳的方式放到 check_point_file 中,uploadfromdir 命令會將正在上傳的文件的時間戳和 check_point_file 記錄的時間戳進行比較。如果有變化則會重新上傳,否則跳過。默認情況下是沒有 check_point_file 的。

注意:由於 check_point_file 文件中記錄的是上傳的所有文件。所以當上傳文件特別多的時候,check_point_file 會特別巨大。

使用示範:

  1. aliyuncli oss UploadObjectFromLocalDir /mytemp/folder oss://mybucket
  1. aliyuncli oss UploadObjectFromLocalDir /mytemp/folder oss://mybucket --check_point_file /tmp/mytemp_record.txt

Put

命令說明:

Put localfile oss://bucket/object --content-type [content_type]--headers "key1:value1,key2:value2" 用於上傳一個本地的文件到 bucket 中,可以指定 object 的 content-type,或者指定自定義的 headers。

使用示範:

  1. aliyuncli oss Put myfile.txt oss://mybucket
  1. aliyuncli oss Put myfile.txt oss://mybucket/myobject.txt
  1. aliyuncli oss Put myfile.txt oss://mybucket/test.txt --content-type plain/text --headers “x-oss-meta-des:test,x-oss-meta-location:CN”
  1. aliyuncli oss Put myfile.txt oss://mybucket/test.txt --content-type plain/text

Get

命令說明:

Get oss://bucket/object localfile 用於將 object 下載到本地文件。

使用示範:

  1. aliyuncli oss Get oss://mybucket/myobject /tmp/localfile

MultiGet

命令說明:

MultiGet oss://bucket/object localfile --thread_num 5 用於將 object 以多線程的方式下載到本地文件。

使用示範:

  1. aliyuncli oss MultiGet oss://mybucket/myobject /tmp/localfile
  1. aliyuncli oss MultiGet oss://mybucket/myobject /tmp/localfile

Cat

命令說明:

Cat oss://bucket/object 用於讀取 object 的內容並直接打印出來。在 object 內容比較大的時候請不要使用。

使用示範:

  1. aliyuncli oss Cat oss://mybucket/myobject

Meta

命令說明:

Meta oss://bucket/object 用於讀取 object 的 meta 信息並打印出來。meta 信息包括 content-type、文件長度、自定義 meta 等內容。

使用示範:

  1. aliyuncli oss Meta oss://mybucket/myobject

Copy

命令說明:

Copy oss://source_bucket/source_object oss://target_bucket/target_object --headers="key1:value1,key2:value2" 用於將源 bucket 的源 object 複製到目的 bucket 中的目的 object。

使用示範:

  1. aliyuncli oss Copy oss://bucket1/object1 oss://bucket2/object2

Delete

命令說明:

Delete oss://bucket/object 用於刪除 object。

使用示範:

  1. aliyuncli oss Delete oss://mybucket/myobject

SignUrl

命令說明:

SignUrl oss://bucket/object --timeout [timeout_seconds] 用於生成一個包含簽名的 URL,並指定超時的時間。適用於 bucket 為私有時將特定的 object 提供給他人訪問。

使用示範:

  1. aliyuncli oss SignUrl oss://mybucket/myobject

Init

命令說明:

Init oss://bucket/object 用於初始化生成一個 Upload ID。這個 Upload ID 可以配合後麵的 MultiUpload 命令來使用。

使用示範:

  1. aliyuncli oss Init oss://mybucket/myobject

ListPart

命令說明:

ListPart oss://bucket/object --upload_id xxx 用於顯示指定 object 的 Upload ID 下已經上傳的 Parts。相關概念見 OSS API 文檔。必須要指定 Upload ID。

使用示範:

  1. aliyuncli oss ListPart oss://mybucket/myobject --upload_id 75835E389EA648C0B93571B6A46023F3

ListParts

命令說明:

ListParts oss://bucke 用於顯示 bucket 中未完成的 multipart Upload ID 和 object。一般在刪除 bucke 或提示 bucket 非空的情況下,可以用這個命令查看是否有 multipart 相關的內容。

使用示範:

  1. aliyuncli oss ListParts oss://mybucket

GetAllPartSize

命令說明:

GetAllPartSize oss://bucket 用於顯示 bucket 中還存在的 Upload ID 已經上傳的 Parts 的總大小。

使用示範:

  1. aliyuncli oss GetAllPartSize oss://mybucket

Cancel

命令說明:

Cancel oss://bucket/object --upload_id xxx 用於終止 Upload ID 對應的 Multipart Upload 事件。

使用示範:

  1. aliyuncli oss Cancel oss://mybucket/myobject --upload_id D9D278DB6F8845E9AFE797DD235DC576

MultiUpload

命令說明一:

MultiUpload localfile oss://bucket/object 用於將本地文件以 multipart 的方式上傳到 OSS。

使用示範:

  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object

命令說明二:

MultiUpload localfile oss://bucket/object --upload_id xxx --thread_num 10 --max_part_num 1000 用於將本地文件以 multipart 的方式上傳到 OSS。本地文件劃分的塊數由 max_part_num 來指定。這個命令在實現的時候,會先去判斷 Upload ID 對應的 Parts 的 ETag 是否和本地文件的MD5值相等,若相等則跳過上傳。所以如果在使用之前生成一個 Upload ID,作為參數傳進來,即使上傳沒有成功,重複執行相同的 Multiupload 命令可以達到一個斷點續傳的效果。

使用示範:

  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --upload_id D9D278DB6F8845E9AFE797DD235DC576
  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --thread_num 5
  1. aliyuncli oss MultiUpload /tmp/localfile.txt oss://mybucket/object --max_part_num 100

UploadPartFromFile

命令說明:

UploadPartFromFile localfile oss://bucket/object --upload_id xx --part_number xxx 主要用於測試,不推薦使用。

UploadPartFromString

命令說明:

UploadPartFromString oss://bucket/object --upload_id xxx --part_number xxx --data xxx 主要用於測試,不推薦使用。

最後更新:2016-11-23 16:04:06

  上一篇:go RDS 高級命令__最佳實踐_命令行工具 CLI-阿裏雲
  下一篇:go CDN 命令介紹__最佳實踐_命令行工具 CLI-阿裏雲