mc stat
语法
mc stat 命令用于显示 MinIO 存储桶中对象的信息,包括对象元数据。
你也可以使用它来检索存储桶元数据。
你可以对本地文件系统使用 mc stat,以获得与 stat 命令行工具类似的结果。
以下命令显示 myminio MinIO 部署中 mydata 存储桶内所有对象的信息:
mc stat --recursive myminio/mydata
该命令具有以下语法:
mc [GLOBALFLAGS] stat \
[--enc-c "value"] \
[--no-list] \
[--recursive] \
[--rewind "string"] \
[--versions] \
[--version-id "string"]* \
ALIAS [ALIAS ...]
方括号
[]表示可选参数。同一行中的参数彼此相互依赖。
使用管道符
|分隔的参数彼此互斥。
请先将示例复制到文本编辑器中并按需修改,再在终端 / shell 中运行命令。
mc stat --version-id 与多个参数互斥。更多信息请参阅参考文档。
参数
- ALIAS
- Required
MinIO 部署的 alias,以及要检索详细信息的对象完整路径。例如:
mc stat myminio/mybucket/myobject.txt
你可以在同一个或不同的 MinIO 部署上指定多个对象:
mc stat myminio/mybucket/myobject.txt myminio/mybucket/myobject.txt
如果指定的是存储桶路径或存储桶前缀路径,则**必须**包含
mc stat --recursive标志:mc stat --recursive myminio/mybucket/
要检索本地文件系统中文件的信息,请指定该文件的完整路径:
mc stat ~/data/myobject.txt
- --enc-c
- Optional
使用客户端管理的密钥,通过服务端 SSE-C 加密 对对象进行加密或解密。
该参数接受格式为
KEY=VALUE的键值对。KEY对象的完整路径,格式为
alias/bucket/path/object.ext。你也可以只指定顶层路径,以便对该路径下的所有操作使用同一个加密密钥。
VALUE指定用于 SSE-C 加密的密钥,可以是 32 字节 RawBase64 编码密钥, 也可以是 64 字节十六进制编码密钥。
Raw Base64 编码 不接受 带
=填充的密钥。 请去掉填充,或使用支持 RAW 格式的 Base64 编码器。KEY- 对象的完整路径,格式为alias/bucket/path/object。VALUE- 用于加密对象的 32 字节 RAW Base64 编码数据密钥。
例如:
# RawBase64-Encoded string "mybucket32byteencryptionkeyssec" --enc-c "myminio/mybucket/prefix/object.obj=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
你可以通过重复该参数来指定多个加密密钥。
也可以指定某个前缀路径,对该路径下所有匹配对象应用加密:
--enc-c "myminio/mybucket/prefix/=bXlidWNrZXQzMmJ5dGVlbmNyeXB0aW9ua2V5c3NlYwo"
Note
MinIO 强烈不建议在生产负载中使用 SSE-C 加密。 请改用
--enc-kms参数启用 SSE-KMS,或使用--enc-s3参数启用 SSE-S3。
- --rewind
- Optional
指示
mc stat仅对指定时间点存在的对象版本执行操作。如需回溯到过去的特定日期,请将该日期指定为 ISO8601 格式的时间戳。 例如:
--rewind "2020.03.24T10:00"。如需按时间长度回溯,请将该时长指定为
#d#hh#mm#ss格式的字符串。 例如:--rewind "1d2hh3mm4ss"。
--rewind要求指定的ALIAS指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用mc version启用或禁用存储桶版本控制。
- --versions
- Optional
指示
mc stat对存储桶中存在的所有对象版本执行操作。--versions要求指定的ALIAS指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用mc version启用或禁用存储桶版本控制。将
--versions与--rewind一起使用,可移除某个特定时间点存在的所有对象版本。
- --version-id, vid
- Optional
指示
mc stat仅对指定的对象版本执行操作。--version-id要求指定的ALIAS指向支持 存储桶版本控制 的 S3 兼容服务。对于 MinIO 部署, 请使用mc version启用或禁用存储桶版本控制。与以下任一标志互斥:
全局标志
此命令支持 全局标志 中的任意选项。
示例
显示对象详情
以下示例显示存储桶 mybucket 中对象 myfile.txt 的详细信息:
mc stat myminio/mybucket/myfile.txt
输出类似如下:
Name : myfile.txt
Date : 2024-07-16 15:40:02 MDT
Size : 6.0 KiB
ETag : 3b38f7b05a0c42acdc377e60b2a74ddf
Type : file
Metadata :
Content-Type: text/plain
你可以通过添加多个路径来指定多个对象:
mc stat myminio/mybucket/file1.txt myminio/yourbucket/file2.txt
要显示存储桶中所有对象的详细信息,请使用 --recursive。
以下示例显示存储桶 mybucket 中所有对象的详细信息:
mc stat --recursive myminio/mybucket
输出类似如下:
Name : file1.txt
Date : 2024-07-16 15:40:02 MDT
Size : 6.0 KiB
ETag : 3b38f7b05a0c42acdc377e60b2a74ddf
Type : file
Metadata :
Content-Type: text/plain
Name : file2.txt
Date : 2024-07-26 10:45:19 MDT
Size : 6.0 KiB
ETag : 3b38f7b05a0c42acdc377e60b2a74ddf
Type : file
Metadata :
Content-Type: text/plain
显示存储桶详情
以下示例显示 myminio MinIO 部署上存储桶 mybucket 的信息:
mc stat myminio/mybucket
输出类似如下:
Name : mybucket
Date : 2024-07-26 10:56:43 MDT
Size : N/A
Type : folder
Properties:
Versioning: Un-versioned
Location: us-east-1
Anonymous: Disabled
ILM: Disabled
Usage:
Total size: 6.0 KiB
Objects count: 1
Versions count: 0
Object sizes histogram:
1 object(s) BETWEEN_1024B_AND_1_MB
1 object(s) BETWEEN_1024_B_AND_64_KB
0 object(s) BETWEEN_10_MB_AND_64_MB
0 object(s) BETWEEN_128_MB_AND_512_MB
0 object(s) BETWEEN_1_MB_AND_10_MB
0 object(s) BETWEEN_256_KB_AND_512_KB
0 object(s) BETWEEN_512_KB_AND_1_MB
0 object(s) BETWEEN_64_KB_AND_256_KB
0 object(s) BETWEEN_64_MB_AND_128_MB
0 object(s) GREATER_THAN_512_MB
0 object(s) LESS_THAN_1024_B
存储桶中的对象数量
要显示存储桶中的对象数量,请使用 --json 并通过 JSON 解析器提取 objectsCount 的值:
以下示例使用 jq 工具:
mc stat myminio/mybucket --json | jq '.Usage.objectsCount'
行为
S3 兼容性
mc 命令行工具以兼容 AWS S3 API 为目标构建,并针对 MinIO 和 AWS S3 进行了测试,以验证预期的功能与行为。
对于其他 S3 兼容服务,MinIO 不提供任何保证,因为这些服务的 S3 API 实现未知, 因此不在支持范围内。虽然 mc 命令 可能 仍能按文档说明工作,但此类 用法需要你自行承担风险。