当需要对账号下的OSS资源进行查询并管理时,例如查询并删除占用空间比较大的文件,可以通过ls命令列举当前账号下的存储空间(Bucket)、对象(Object)和碎片(Part)信息。
注意事项
从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,无需根据系统刷新Binary名称。如果ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考。
当在OSS ON云盒中使用该命令时:
将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
在本文已有示例的基础上添加--sign-version、--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项。
权限说明
阿里云账号默认拥有全部权限。阿里云账号下的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