使用ls命令列举账号下的Bucket、文件、碎片

当您需要对账号下的OSS资源进行查询并管理时,例如查询并删除占用空间比较大的文件,您可以通过ls命令列举当前账号下的存储空间(Bucket)、对象(Object)和碎片(Part)信息。

注意事项

  • 要列举Bucket,您必须具有oss:ListBuckets权限;要列举Object,您必须具有oss:ListObjects权限;要列举Object的所有版本,您必须具有oss:ListObjectVersions权限;要列举所有Part,您必须具有oss:ListPartsoss:ListMultipartUploads权限。具体操作,请参见为RAM用户授权自定义的权限策略

  • 从ossutil 1.6.16版本开始,命令行中Binary名称支持直接使用ossutil,您无需根据系统刷新Binary名称。如果您的ossutil版本低于1.6.16,则需要根据系统刷新Binary名称。更多信息,请参见命令行工具ossutil命令参考

  • 当您在OSS ON云盒中使用该命令时:

    1. 将配置文件中的Endpoint替换为云盒Endpoint。更多信息,请参见云盒Endpoint

    2. 在本文已有示例的基础上添加--sign-version--region以及--cloudbox-id选项。关于这三个选项的具体用法,请参见通用选项

列举Bucket

  • 命令格式

    ossutil ls [-s] [--limited-num] [--marker] 

    参数说明如下:

    选项

    说明

    -s

    列举结果仅返回Bucket的名称。

    --limited-num

    设定返回结果的最大个数。您可以使用此项结合marker对返回结果进行分页展示。

    --marker

    列举名称字母序排在marker之后的Bucket。

  • 使用示例

    • 列举所有Bucket

      ossutil ls

      ossutil ls oss://

      以下输出结果表明已成功列举当前账号下所有Bucket,包括Bucket名称、创建时间、所在地域、存储类型、数量等信息。

      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

      以下输出结果表明已成功列举当前账号下所有Bucket,仅包含Bucket名称以及Bucket数量。

      oss://examplebucketA
      oss://examplebucketB
      oss://examplebucketC
      oss://examplebucketD
      Bucket Number is:4
      0.235104(s) elapsed  
    • 列举字母序排在指定marker为examplebucketA之后的Bucket

      ossutil ls oss:// --limited-num=2 -s --marker examplebucketA

      以下输出结果表明已成功列举examplebucketA之后的2个Bucket。

      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                        

列举Object

  • 命令格式

    ossutil ls oss://bucketname[/prefix] [-s] [-d] [--limited-num] [--marker] [--include] [--exclude]  [--version-id-marker] [--all-versions]

    参数说明如下:

    选项

    说明

    bucketname

    目标Bucket名称。

    prefix

    目标Object前缀。当您列举目标Bucket中指定前缀的Object时添加此项。

    -s

    列举结果仅返回Object的名称。

    -d

    仅列举Object和子目录,忽略子目录下的Object。

    --limited-num

    设定返回结果的最大个数。您可以使用此项结合--marker,对返回结果进行分页展示。

    --marker

    列举名称字母排序在marker之后的Object。

    --include

    列举符合指定条件的Object。

    更多信息,请参见include和exclude选项

    --exclude

    列举不符合指定条件的Object。

    更多信息,请参见include和exclude选项

    --version-id-marker

    列举Version ID字母排序在marker之后的Object版本。仅当Bucket开启版本控制后可用。

    --all-versions

    列举Object的所有版本,仅当Bucket开启版本控制后可用。

  • 使用示例

    • 列举examplebucket内所有Object

      ossutil ls oss://examplebucket

      以下输出结果表明已成功列举examplebucket内所有Object的信息,包括文件最后更新时间(LastModifiedTime)、以字节为单位统计的文件大小(Size)、ETag值以及文件名称(ObjectName)。

      其中,ETag值用于标识一个Object的内容。对于通过PutObject请求创建的Object,ETag值是其内容的MD5值;对于通过其他方式创建的Object,ETag值是基于一定计算规则生成的唯一值,但不是其内容的MD5值。

      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                 
    • 列举examplebucket内前缀为example的Object

      ossutil ls oss://examplebucket/example

      以下输出结果表明已成功列举examplebucket内所有前缀为example的Object。

      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                 
    • 列举examplebucket内所有后缀名为.mp4的文件

      ossutil ls oss://examplebucket --include *.mp4

      以下输出结果表明已成功列举examplebucket内所有后缀名为.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                 
    • 仅列举examplebucket根目录下Object和子目录

      ossutil ls oss://examplebucket -d

      以下输出结果表明已成功列举examplebucket根目录下Object和子目录。

      oss://examplebucket/example.txt
      oss://examplebucket/examplefolder/
      oss://examplebucket/video.mp4
      Object and Directory Number is: 3
      
      0.278489(s) elapsed
    • 列举examplebucket内所有Object的所有版本

      ossutil ls oss://examplebucket --all-versions

      以下输出结果表明已成功列举examplebucket内所有Object的所有版本。

      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
    • 列举examplebucket根目录下example.txt的所有版本

      ossutil ls oss://examplebucket/example.txt --all-versions

      以下输出结果表明已成功列举example.txt的所有版本。

      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.361000(s) elapsed

列举Part

  • 命令格式

    ossutil ls oss://bucketname[/prefix] [-s] [-d] [-m] [-a] [--limited-num] [--upload-id-marker] 

    参数说明如下:

    选项

    说明

    bucketname

    目标Bucket名称。

    当您需要列举指定Bucket中的Object时添加此项。

    prefix

    列举指定前缀下的Part。

    -s

    列举结果仅返回UploadID和Object名称。

    -d

    列举Object和子目录,忽略子目录下的Object。

    -m

    列举Part。

    -a

    列举Object和Part。

    --limited-num

    设定返回结果的最大个数。您可以使用此项结合--upload-id-marker对返回结果进行分页展示。

    --upload-id-marker

    列举Upload ID字母排序在marker之后的Part。

  • 使用示例

    • 列举examplebucket内所有Part

      ossutil ls oss://examplebucket -m

      以下输出结果表明已成功列举examplebucket内所有Part。

      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.191289(s) elapsed  
    • 列举examplebucket内所有Object和Part

      ossutil ls oss://examplebucket -a

      以下输出结果表明已成功列举examplebucket内所有Object和Part。

      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  

通用选项

当您需要通过命令行工具ossutil切换至另一个地域的Bucket时,可以通过-e选项指定该Bucket所属的Endpoint。当您需要通过命令行工具ossutil切换至另一个阿里云账号下的Bucket时,可以通过-i选项指定该账号的AccessKey ID,并通过-k选项指定该账号的AccessKey Secret。

例如您需要列举另一个阿里云账号下,华东1(杭州)名为test的Bucket内所有文件,命令如下:

ossutil ls oss://test -e oss-cn-hangzhou.aliyuncs.com -i LTAI4Fw2NbDUCV8zYUzA****  -k 67DLVBkH7EamOjy2W5RVAHUY9H****

关于此命令的其他通用选项的更多信息,请参见通用选项