du命令用于獲取指定存儲空間(Bucket)、文件目錄下包含的所有Object的大小。
注意事項
要獲取當前版本所有Object的大小,您需要具有
oss:ListObjects
、oss:ListParts
和oss:ListMultipartUploads
權限;要獲取所有版本Object大小,您需要具有oss:ListObjectVersions
、oss:ListParts
和oss:ListMultipartUploads
權限。具體操作,請參見為RAM用戶授權自定義的權限策略。從ossutil 1.6.16版本開始,命令行中Binary名稱支持直接使用ossutil,您無需根據系統刷新Binary名稱。如果您的ossutil版本低于1.6.16,則需要根據系統刷新Binary名稱。更多信息,請參見命令行工具ossutil命令參考。
命令格式
ossutil du oss://bucketname[/prefix] [--payer requester] [--all-versions][--block-size <value>]
參數及選項說明如下:
配置項 | 說明 |
bucketname | 目標Bucket名稱。 |
prefix | Bucket下的某個文件目錄或指定前綴。 |
--payer | 請求的支付方式。如果希望訪問指定路徑下的資源產生的流量、請求次數等費用由請求者支付,請將此選項的值設置為requester。 |
--all-versions | 獲取所有版本Object的大小。不添加此選項時,默認查詢當前版本Object的大小。 |
--block-size | 定義輸出結果中指定Bucket或目錄下包含的Object大小,取值為KB、MB、GB或TB。不添加此選項時,默認以Byte為單位統計Object的大小。 重要 此選項僅在ossutil1.7.3及以上版本可用。 |
查詢指定Bucket下所有版本Object的大小
以下命令用于查詢examplebucket內所有版本Object的大小:
ossutil du oss://examplebucket --all-versions
以下輸出結果表明examplebucket內共有13個Object,其中12個Object的存儲類型為Standard(標準存儲),1個Object為Archive(歸檔存儲),Object總大小為132116024 字節。
storage class object count sum size(byte)
----------------------------------------------------------
Standard 12 132115210
Archive 1 814
----------------------------------------------------------
total object count: 13 total object sum size: 132116024
total part count: 0 total part sum size: 0
total du size(byte):132116024
0.382978(s) elapsed
查詢指定目錄下所有當前版本Object的大小
以下命令用于查詢examplebucket內指定目錄dir下的當前版本Object大小,Object大小以GB為單位進行統計:
ossutil du oss://examplebucket/dir/ --block-size GB
以下輸出結果表明存儲空間examplebucket內指定目錄dir下共有5個Object,其存儲類型均為Standard,文件總大小為0.0002 GB。
storage class object count sum size(byte)
----------------------------------------------------------
Standard 5 232277
----------------------------------------------------------
total object count: 5 total object sum size: 232277
total part count: 0 total part sum size: 0
total du size(GB):0.0002
0.078757(s) elapsed
查詢與前綴匹配的所有版本Object的大小
以下命令用于查詢目標存儲空間examplebucket下與前綴test匹配的所有版本Object的大小,Object大小以KB為單位進行統計:
ossutil du oss://examplebucket/test --all-versions --block-size KB
以下輸出結果表明examplebucket下與前綴test匹配的Object共有4個,其存儲類型均為Standard,大小為448.1455 KB。
storage class object count sum size(byte)
----------------------------------------------------------
Standard 4 439425
----------------------------------------------------------
total object count: 4 total object sum size: 439425
total part count: 0 total part sum size: 0
total du size(KB):448.1455
0.126340(s) elapsed
通用選項
當您需要通過命令行工具ossutil切換至另一個地域的Bucket時,可以通過-e選項指定該Bucket所屬的Endpoint。當您需要通過命令行工具ossutil切換至另一個阿里云賬號下的Bucket時,可以通過-i選項指定該賬號的AccessKey ID,并通過-k選項指定該賬號的AccessKey Secret。
例如您需要獲取另一個阿里云賬號下,華東2(上海)地域下名為testbucket的存儲空間下所有版本Object的大小,命令如下:
ossutil du oss://testbucket --all-versions -e oss-cn-shanghai.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA**** -k 67DLVBkH7EamOjy2W5RVAHUY9H****
關于此命令的其他通用選項的更多信息,請參見通用選項。