mc find
语法
Themc find该命令支持在 MinIO 部署中搜索对象。
您也可以使用该命令在文件系统中搜索文件。
以下命令在指定模式中搜索所有匹配的对象mydata桶上的myminioMinIO 部署:
mc find myminio/mydata --name "*.jpg"
该命令具有以下语法:
mc [GLOBALFLAGS] find \
[--exec "string"] \
[--ignore "string"] \
[--larger "string"] \
[--maxdepth "string"] \
[--metadata "string"] \
[--name "string"] \
[--newer-than "string"] \
[--older-than "string"] \
[--path "string"] \
[--print "string"] \
[--regex "string"] \
[--smaller "string"] \
[--tags "string"]` \
[--versions] \
[--watch] \
ALIAS
Brackets
[]表示可选参数。共享同一行的参数是相互依赖的。
使用竖线分隔的参数
|操作符是互斥的。
将示例复制到文本编辑器中,根据需要修改,然后在终端/Shell中运行命令。
参数
- ALIAS
- 必需
对于 MinIO 或 S3 兼容主机上的对象,请指定别名以及要搜索的完整路径(例如存储桶和前缀)。 例如:
mc find play/mydata/
对于文件系统上的对象,请指定要搜索的完整路径。 例如:
mc find ~/mydata/
发行
mc find ALIAS不带任何其他参数时返回一个列表全部指定路径下的对象或文件,类似于mc ls.
- --ignore
- 可选
排除名称与指定模式匹配的对象通配符模式.
- --larger
- 可选
匹配所有大于指定大小的对象单位.
- --metadata
- 可选
版本 mc 中的新功能:RELEASE.2023-04-12T02-21-51Z
仅适用于 MinIO 部署。
返回具有与指定元数据匹配的对象
key=value使用格式--metadata="KEY=value".您可以传递一个值为空的键。 在这种情况下,
mc find匹配那些没有元数据键或元数据键值为空的对象。您可以使用该标志多次匹配对象的附加元数据键。 要返回,对象必须具有与所有元数据键匹配的值。
- --name
- 可选
返回名称与指定条件匹配的对象通配符模式.
- --newer-than
- 可选
镜像对象的时间晚于指定的天数。 指定一个字符串在
#d#hh#mm#ss格式。 例如:--older-than 1d2hh3mm4ssChanged in version RELEASE.2025-02-04T04-57-50Z:时间也可以使用绝对时间指定
YYYY-MM-DD HH:MM:SS TMZ格式。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket.
- --older-than
- 可选
镜像早于指定时间限制的对象。指定一个字符串在
#d#hh#mm#ss格式。 例如:--older-than 1d2hh3mm4ssChanged in version RELEASE.2025-02-04T04-57-50Z:时间也可以使用绝对时间指定
YYYY-MM-DD HH:MM:SS TMZ格式。 例如,mc find --newer-than="2025-01-22 09:57:00 CET" minioalias/mybucket.默认值为
0(所有对象)。
- --path
- 可选
返回名称与指定内容匹配的目录内容通配符模式.
- 可选
将结果打印到
STDOUT支持替换格式化输出的。
- --tags
- 可选
版本 mc 中的新功能:RELEASE.2023-04-12T02-21-51Z
仅适用于 MinIO 部署。
返回具有匹配指定标签的对象RE2 正则表达式模式使用格式
--tag="KEY=regexValue".您可以传递一个值为空的键。 在这种情况下,
mc find匹配那些没有元数据键或元数据键值为空的对象。您可以使用该标志多次来匹配具有附加标签的对象。 要返回,对象必须具有所有标签的匹配值。
- --更小
- 可选
匹配所有小于指定尺寸的对象单位.
- --watch
- 可选
持续监控
ALIAS并返回任何符合指定条件的新对象。
全局标志
此命令支持任何全局标志.
示例
在存储桶中查找特定对象
mc find ALIAS/PATH --name NAME
查找存储桶中具有文件扩展名的对象
mc find ALIAS/PATH --name *.EXTENSION
查找所有匹配文件并复制到 S3 服务
使用mc find随着--exec在本地文件系统上查找文件并将其传递给某个操作的选项mc用于
进一步处理的命令。以下示例使用mc cp复制
输出mc find到兼容 S3 的主机。
mc find FILEPATH --name "*.EXTENSION" --exec "mc cp {} ALIAS/PATH"
要持续监视指定目录并复制新对象,
请包含--watch论点:
mc find --watch FILEPATH --name "*.EXTENSION" --exec "mc cp {} ALIAS/PATH"
查找具有匹配标签的对象
Note
标签匹配功能仅适用于 MinIO 部署环境。
mc find --tags="key=v*" ALIAS/BUCKET/
替换
key使用要匹配的标签键的名称。替换
v*使用 RE2 正则表达式进行评估。替换
ALIAS随着aliasMinIO 部署的。替换
BUCKET使用要搜索的存储桶或前缀。
您可以添加额外的--tags="key=RegExpression"要匹配的标志。
匹配的对象必须匹配所有包含的标签。
查找具有匹配元数据的对象
Note
元数据匹配功能仅适用于 MinIO 部署环境。
mc find --json --metadata="content-type=text/csv" ALIAS/BUCKET/
替换
content-type=text/csv使用元数据字段和值的键值对进行匹配。替换
ALIAS随着aliasMinIO 部署的。替换
BUCKET使用要搜索的存储桶或前缀。
您可以添加额外的--tags="metadata=value"要匹配的标志。
匹配的对象必须匹配所有包含的元数据字段。
行为
计量单位
Themc find --smaller和mc find --largerflags
接受以下不区分大小写的后缀来表示指定大小值的单位:
后缀 |
单元尺寸 |
|---|---|
|
KB (Kilobyte, 1000 Bytes) |
|
MB (兆字节,1000千字节) |
|
GB (Gigabyte,1000 Megabytes) |
|
TB (Terabyte, 1000 Gigabytes) |
|
KiB (Kibibyte, 1024 字节) |
|
MiB (Mebibyte, 1024 Kibibytes) |
|
GiB (Gibibyte, 1024 Mebibytes) |
|
TiB (Tebibyte, 1024 Gibibytes) |
省略后缀默认为bytes.
替换格式
Themc find --exec和mc find --print命令
支持字符串替换,对以下关键字有特殊解释。
以下关键字同时支持文件系统和S3服务目标:
{}- 完整路径的替代方案。{base}- 路径 basename 的替代方法。{dir}- 路径 dirname 的替代方法。{size}- 路径对象大小的替代方案。{time}- 替代路径中对象的修改时间。
以下关键字仅适用于 S3 服务目标:
{url}- 路径可共享 URL 的替代方案。
S3 Compatibility
Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。
MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。