全部產品
Search
文件中心

Object Storage Service:有關Object命令

更新時間:Feb 28, 2024

本文主要介紹與對象(Object)相關的命令。

重要

osscmd於2019年7月31日下線,阿里雲不再繼續維護更新。osscmd操作命令已整合到ossutil中,推薦您使用ossutil

ls(list)

命令說明:

ls(list) oss://bucket/[prefix] [marker] [delimiter] [maxkeys]

列出儲存空間(Bucket)中的Object。填寫prefix時,可以列出以指定首碼開頭的所有檔案。例如,prefix為abc,則列出名稱以abc開頭的所有Object。

使用示範:

  • python osscmd ls oss://mybucket/folder1/folder2

  • python osscmd ls oss://mybucket/folder1/folder2 marker1

  • python osscmd ls oss://mybucket/folder1/folder2 marker1 /

  • python osscmd ls oss://mybucket/

  • python osscmd list oss://mybucket/ "" "" 100

命令說明:

ls(list) oss://bucket/[prefix] --marker=xxx --delimiter=xxx --maxkeys=xxx
        --encoding_type=url

列出Bucket中的Object。其中encoding_type可以指定傳輸中使用的編碼。當指定為URL編碼時,支援顯示含控制字元的Object。

使用示範:

  • python osscmd ls oss://mybucket/folder1/folder2 --delimiter=/

  • python osscmd ls oss://mybucket/folder1/folder2 --marker=a

  • python osscmd ls oss://mybucket/folder1/folder2 --maxkeys=10

mkdir

命令說明:

mkdir oss://bucket/dirname

建立一個檔案夾。

使用示範:

python osscmd mkdir oss://mybucket/folder

listallobject

命令說明:

listallobject oss://bucket/[prefix]

列出Bucket下所有的Object,可以指定prefix來顯示。

使用示範:

  • python osscmd listallobject oss://mybucket

  • python osscmd listallobject oss://mybucket/testfolder/

deleteallobject

命令說明:

deleteallobject oss://bucket/[prefix]

刪除Bucket下所有的Object,可以指定prefix來刪除。

使用示範:

  • python osscmd deleteallobject oss://mybucket

  • python osscmd deleteallobject oss://mybucket/testfolder/

downloadallobject

命令說明:

downloadallobject oss://bucket/[prefix] localdir --replace=false
      --thread_num=5

將Bucket下的Object下載到本地目錄,並且保持目錄結構。可以指定prefix下載。—replace=false表示下載時不會覆蓋本地的同名檔案,為true時則覆蓋。同時可以通過thread_num來配置下載線程。

使用示範:

  • python osscmd downloadallobject oss://mybucket /tmp/folder

  • python osscmd downloadallobject oss://mybucket /tmp/folder
            –-replace=false
  • python osscmd downloadallobject oss://mybucket /tmp/folder –-replace=true
              --thread_num=5

downloadtodir

命令說明:

downloadtodir oss://bucket/[prefix] localdir --replace=false

將Bucket下的Object下載到本地目錄,並且保持目錄結構。可以指定prefix下載。—replace=false表示下載時不會覆蓋本地的同名檔案,為true時則覆蓋。downloadtodir與downloadallobject 效果一樣。

使用示範:

  • python osscmd downloadtodir oss://mybucket /tmp/folder

  • python osscmd downloadtodir oss://mybucket /tmp/folder –-replace=false

  • python osscmd downloadtodir oss://mybucket /tmp/folder
          –-replace=true

uploadfromdir

命令說明:

uploadfromdir 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。--replace=false表示下載時不會覆蓋本地的同名檔案,為true時則覆蓋。--check_md5=false表示上傳檔案時不會校正攜帶Content-MD5要求標頭,為true時則校正。

注意:check_point_file檔案中記錄的是上傳的所有檔案的。

使用示範:

  • python osscmd uploadfromdir /mytemp/folder oss://mybucket

  • python osscmd uploadfromdir /mytemp/folder oss://mybucket
              --check_point_file=/tmp/mytemp_record.txt
  • python osscmd uploadfromdir C:\Documents and Settings\User\My Documents\Downloads
              oss://mybucket --check_point_file=C:\cp.txt

put

命令說明:

put localfile oss://bucket/object --content-type=[content_type]
        --headers="key1:value1#key2:value2" --check_md5=false

上傳一個本地的檔案到Bucket中,可以指定Object的content-type,或指定自訂的headers。--check_md5=false表示上傳檔案時不會校正攜帶Content-MD5要求標頭,為true時則校正。

使用示範:

  • python osscmd put myfile.txt oss://mybucket

  • python osscmd put myfile.txt oss://mybucket/myobject.txt

  • python osscmd put myfile.txt oss://mybucket/test.txt --content-type=plain/text
              --headers=“x-oss-meta-des:test#x-oss-meta-location:CN”
  • python osscmd put myfile.txt oss://mybucket/test.txt
            --content-type=plain/text

upload

命令說明:

upload localfile oss://bucket/object --content-type=[content_type]
      --check_md5=false

將本地檔案以Object group的形式上傳。不推薦使用。--check_md5=false表示上傳檔案時不會校正攜帶Content-MD5要求標頭,為true時則校正。

使用示範:

python osscmd upload myfile.txt oss://mybucket/test.txt
        --content-type=plain/text

get

命令說明:

get oss://bucket/object localfile

將object下載到本地檔案。

使用示範:

python osscmd get oss://mybucket/myobject /tmp/localfile

multiget(multi_get)

命令說明:

multiget(multi_get) oss://bucket/object localfile --thread_num=5

將Object以多線程的方式下載到本地檔案。同時可以配置線程數。

使用示範:

  • python osscmd multiget oss://mybucket/myobject /tmp/localfile

  • python osscmd multi_get oss://mybucket/myobject /tmp/localfile

cat

命令說明:

cat oss://bucket/object

讀取Object的內容,直接列印出來。在Object內容比較大的時候請不要使用。

使用示範:

python osscmd cat oss://mybucket/myobject

meta

命令說明:

meta oss://bucket/object

讀取Object的meta資訊,列印出來。meta資訊包括content-type、檔案長度、自訂meta等內容。

使用示範:

python osscmd 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。

使用示範:

python osscmd copy oss://bucket1/object1 oss://bucket2/object2

rm(delete,del)

命令說明:

rm(delete,del) oss://bucket/object --encoding_type=url

刪除Object。當指定encoding-type為URL編碼時,傳入待刪除的字串也需為URL編碼。

使用示範:

  • python osscmd rm oss://mybucket/myobject

  • python osscmd delete oss://mybucket/myobject

  • python osscmd del oss://mybucket/myobject

  • python osscmd del oss://mybucket/my%01object --encoding_type=url

signurl(sign)

命令說明:

signurl(sign) oss://bucket/object --timeout=[timeout_seconds]

產生包含簽名的URL,並指定逾時時間。適用於bucket為私人時將特定的Object提供給他人訪問。

使用示範:

  • python osscmd sign oss://mybucket/myobject

  • python osscmd signurl oss://mybucket/myobject