當需要對帳號下的OSS資源進行查詢並管理時,例如查詢並刪除佔用空間比較大的檔案,可以通過ls命令列舉當前帳號下的儲存空間(Bucket)、對象(Object)和片段(Part)資訊。
注意事項
從ossutil 1.6.16版本開始,命令列中Binary名稱支援直接使用ossutil,無需根據系統重新整理Binary名稱。如果ossutil版本低於1.6.16,則需要根據系統重新整理Binary名稱。更多資訊,請參見命令列工具ossutil命令參考。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API Action | 說明 |
| 執行 |
| 執行 |
| 可選。在指定 |
| 可選。可選。列舉未完成或已中止的分區上傳任務所需的許可權。 |
| 可選。列舉分區所需的許可權。 |
命令格式
ossutil ls cloud_url [options]參數說明
參數 | 說明 |
cloud_url | 指定要操作的資源,格式為
|
-s, --short-format | 以精簡格式輸出,結果僅包含資源名稱。 |
-d, --directory | 非遞迴列舉。僅列舉當前路徑下的Object和一級子目錄(以 |
-m, --multipart | 列舉指定Bucket下所有尚未完成或中止的分區上傳任務(Multipart Uploads)。 |
-a, --all-type | 列舉所有類型的資源,包括Object和未完成的分區。 |
--limited-num | 設定單次請求返回結果的最大數量,可用於分頁。當Bucket內Object數量巨大時,建議與 |
--marker | 從指定標記(marker)之後的位置列舉。當Bucket內Object數量較多時,建議與 |
--upload-id-marker | 從指定的UploadID之後繼續列舉未完成的分區上傳任務。 |
--payer | 指定由要求者支付訪問費用。將此選項的值設定為requester後,訪問指定路徑下資源產生的流量、請求次數等費用均由要求者支付。 |
--include | 列舉符合指定萬用字元格式的Object。更多資訊,請參見include和exclude選項。 |
--exclude | 列舉不符合指定萬用字元格式的Object。更多資訊,請參見include和exclude選項。 |
--all-versions | 列舉Object的所有歷史版本。此選項僅對已開啟版本控制的Bucket生效。 |
--version-id-marker | 從指定的版本ID(version-id)之後繼續列舉Object的歷史版本。此選項僅對已開啟版本控制的Bucket生效。 |
關於此命令的其他通用選項,請參見通用選項。
輸出結果
列舉Object返回結果中的ETag值可用於校正對象內容的完整性。
對於通過
PutObject方式建立的Object,其ETag是對象內容的MD5值。對於通過分區上傳(Multipart Upload)等方式建立的Object,其
ETag是一個唯一標識,但不是對象內容的MD5值。
使用樣本
列舉所有Bucket
不帶任何參數執行ls命令,可以列舉當前帳號下有權訪問的所有Bucket。
ossutil ls或
ossutil ls oss://輸出結果:
2016-10-21 16:18:37 +0800 CST oss-cn-hangzhou Archive oss://examplebucketA
2016-12-01 15:06:21 +0800 CST oss-cn-hangzhou Standard oss://examplebucketB
2016-07-20 10:36:24 +0800 CST oss-cn-hangzhou IA oss://examplebucketC
2016-10-21 17:31:27 +0800 CST oss-cn-hangzhou Archive oss://examplebucketD
Bucket Number is:4
0.252174(s) elapsed 以精簡模式列舉Bucket
ossutil ls -s輸出結果:
oss://examplebucketA
oss://examplebucketB
oss://examplebucketC
oss://examplebucketD
Bucket Number is:4
0.235104(s) elapsed 分頁列舉Bucket
當Bucket內對象數量過多時,可通過 --limited-num 和 --marker 選項分頁列舉。
列舉字母序排在指定marker為examplebucketA之後的Bucket。
ossutil ls --limited-num=2 -s --marker examplebucketA輸出結果:
2016-12-01 15:06:21 +0800 CST oss-cn-hangzhou Standard oss://examplebucketB
2016-07-20 10:36:24 +0800 CST oss-cn-hangzhou IA oss://examplebucketC
Bucket Number is:2
0.132174(s) elapsed 列舉指定Bucket下所有Object
列舉examplebucket內所有Object。
ossutil ls oss://examplebucket輸出結果:
LastModifiedTime Size(B) StorageClass ETag ObjectName
2020-12-01 15:06:37 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB oss://examplebucket/example.txt
2020-12-01 15:06:42 +0800 CST 363812 Standard E7581E5D2EBC56ECCB6FB6050B4C6545 oss://examplebucket/examplefolder/photo.jpg
2020-12-01 15:06:45 +0800 CST 57374182 Standard BE97B7AD7A2C1277B11221E5C9537544 oss://examplebucket/video.mp4
Object Number is:3
0.007379(s) elapsed 其中,ETag值用於標識一個Object的內容。對於通過PutObject請求建立的Object,ETag值是其內容的MD5值;對於通過其他方式建立的Object,ETag值是基於一定計算規則產生的唯一值,但不是其內容的MD5值。
列舉指定目錄(首碼)下的Object
列舉examplebucket內首碼為example的Object。
ossutil ls oss://examplebucket/example輸出結果:
LastModifiedTime Size(B) StorageClass ETag ObjectName
2020-12-01 15:06:37 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB oss://examplebucket/example.txt
2020-12-01 15:06:42 +0800 CST 363812 Standard E7581E5D2EBC56ECCB6FB6050B4C6545 oss://examplebucket/examplefolder/photo.jpg
Object Number is:2
0.007379(s) elapsed 列舉指定尾碼的Object
使用--include選項可以列舉examplebucket下尾碼名為.mp4的檔案。
ossutil ls oss://examplebucket --include *.mp4輸出結果:
LastModifiedTime Size(B) StorageClass ETag ObjectName
2020-12-01 15:06:45 +0800 CST 57374182 Standard BE97B7AD7A2C1277B11221E5C9537544 oss://examplebucket/video.mp4
Object Number is:1
0.007379(s) elapsed 非遞迴列舉Object和一級子目錄
使用-d選項可以僅列舉examplebucket根目錄下的對象和一級子目錄,不遞迴顯示子目錄下的內容。
ossutil ls oss://examplebucket -d輸出結果:
oss://examplebucket/example.txt
oss://examplebucket/examplefolder/
oss://examplebucket/video.mp4
Object and Directory Number is: 3
0.278(s) elapsed列舉所有Object的所有版本
對於已開啟版本控制的Bucket,使用--all-versions選項可以列舉Bucket下所有Object的所有版本。
ossutil ls oss://examplebucket --all-versions輸出結果:
LastModifiedTime Size(B) StorageClass ETag VERSIONID IS-LATEST DELETE-MARKER ObjectName
2020-12-01 15:06:37 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB CAEQARiBgICUsOuR2hYiIDI3NWVjNmEyYmM0NTRkZWNiMTkxY2VjMDMwZjFlMDA3 true false oss://examplebucket/example.txt
2020-06-11 11:03:37 +0800 CST 363812 Standard E7581E5D2EBC56ECCB6FB6050B4C6545 CAEQARiBgIDZtvuR2hYiIDNhYjRkN2M5NTA5OTRlN2Q4YTYzODQwMzQ4NDYwZDdm true false oss://examplebucket/examplefolder/photo.jpg
2021-01-26 13:27:08 +0800 CST 0 CAEQLxiBgIDd7NH0uRciIDA3Yzg0MTZjOWNlYzQ4ODZhMzVkZWE0MmE2NzBlYTYx true true oss://examplebucket/image.png
2020-12-01 15:06:45 +0800 CST 57374182 Standard BE97B7AD7A2C1277B11221E5C9537544 CAEQLBiBgMDZiprwthciIDY2NGM0NTNmZDE3ODRmZmVhZGM4YTUwZGQyNGU3ZjQ3 true false oss://examplebucket/video.mp4
2016-06-11 10:53:46 +0800 CST 118076 Standard FFDB300F053AAF06F4C4C58A4869C427 CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk false false oss://examplebucket/example.txt
2016-06-11 11:02:05 +0800 CST 345374 Standard 078A9852BCF81DC4811E6EDCBFD121BE CAEQARiBgICNz_iR2hYiIGJjZTBjNDQxYWRhNTQ2ZTNiNmMzYzQ1YzMzMDA5ZjUw false false oss://examplebucket/examplefolder/photo.jpg
Object Number is: 6
0.692000(s) elapsed列舉指定Object的所有版本
對於已開啟版本控制的Bucket,使用--all-versions選項可以列舉example.txt的所有歷史版本。
ossutil ls oss://examplebucket/example.txt --all-versions輸出結果:
LastModifiedTime Size(B) StorageClass ETag VERSIONID IS-LATEST DELETE-MARKER ObjectName
2020-12-01 15:06:37 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB CAEQARiBgICUsOuR2hYiIDI3NWVjNmEyYmM0NTRkZWNiMTkxY2VjMDMwZjFlMDA3 true false oss://examplebucket/example.txt
2016-06-11 10:53:46 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB CAEQARiBgID8rumR2hYiIGUyOTAyZGY2MzU5MjQ5ZjlhYzQzZjNlYTAyZDE3MDRk false false oss://examplebucket/example.txt
Object Number is: 2
0.361(s) elapsed列舉所有Part
使用-m選項可以列舉examplebucket中所有因上傳中斷或失敗而產生的未完成Part。這些任務會持續佔用儲存空間併產生費用,建議定期檢查並清理。
ossutil ls oss://examplebucket -m輸出結果:
InitiatedTime UploadID ObjectName
2017-01-13 03:45:26 +0000 CST 15754AF7980C4DFB8193F190837520BB oss://examplebucket/test.mp4
2017-01-20 11:16:21 +0800 CST A20157A7B2FEC4670626DAE0F4C0073C oss://examplebucket/object.exe
UploadId Number is: 2
0.191(s) elapsed列舉所有Object和Part
使用-m選項可以列舉examplebucket中的所有Object和Part。
ossutil ls oss://examplebucket -a輸出結果:
LastModifiedTime Size(B) StorageClass ETag ObjectName
2020-12-01 15:06:37 +0800 CST 114 Standard 61DE142E5AFF9A6748707D4A77BFBCFB oss://examplebucket/example.txt
2020-12-01 15:06:42 +0800 CST 363812 Standard E7581E5D2EBC56ECCB6FB6050B4C6545 oss://examplebucket/examplefolder/photo.jpg
2020-12-01 15:06:45 +0800 CST 57374182 Standard BE97B7AD7A2C1277B11221E5C9537544 oss://examplebucket/video.mp4
Object Number is:3
InitiatedTime UploadID ObjectName
2017-01-13 03:45:26 +0000 CST 15754AF7980C4DFB8193F190837520BB oss://examplebucket/test.mp4
2017-01-13 03:45:13 +0000 CST 2A1F9B4A95E341BD9285CC42BB950EE0 oss://examplebucket/test.mp4
2017-01-13 03:45:01 +0000 CST 3998971ACAF94AD9AC48EAC1988BE863 oss://examplebucket/test.mp4
2017-01-20 11:16:21 +0800 CST A20157A7B2FEC4670626DAE0F4C0073C oss://examplebucket/object.exe
UploadId Number is:4
0.791289(s) elapsed 列舉其他帳號授權的資源
列舉另一個阿里雲帳號下,華東1(杭州)名為test的Bucket內所有檔案。
ossutil ls oss://test -e oss-cn-hangzhou.aliyuncs.com -i yourAccessKeyID -k yourAccessKeySecret