mc find
語法
mc find
命令支援在 MinIO 部署上搜尋物件。您也可以使用此命令在檔案系統上搜尋檔案。
以下命令在 myminio
MinIO 部署上的 mydata
儲存貯體中,搜尋所有符合指定模式的物件
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
方括號
[]
表示選用參數。在同一行中共享的參數是相互依賴的。
使用管道符號
|
分隔的參數是互斥的。
將範例複製到文字編輯器中,並在終端機/Shell 中執行命令之前,根據需要修改。
參數
- ALIAS
- 必要
對於 MinIO 或與 S3 相容的主機上的物件,請指定 別名 和要搜尋的完整路徑 (例如儲存貯體和前綴)。例如:
mc find play/mydata/
對於檔案系統上的物件,請指定要搜尋的完整路徑。例如:
mc find ~/mydata/
執行不帶任何其他引數的
mc find ALIAS
會傳回指定路徑中 *所有* 物件或檔案的清單,類似於mc ls
。
- --ignore
- 選用
排除名稱符合指定萬用字元模式的物件。
- --larger
- 選用
比指定大小大的所有物件,以單位表示。
- --metadata
- 選用
新版本: RELEASE.2023-04-12T02-21-51Z
僅適用於 MinIO 部署。
傳回元資料符合指定的
key=value
的物件。使用格式--metadata="KEY=value"
。您可以傳遞具有空值的鍵。在這種情況下,
mc find
會比對沒有元資料鍵,或元資料鍵的值為空的物件。您可以多次使用該旗標來比對其他元資料鍵的物件。若要傳回物件,其必須具有所有元資料鍵的相符值。
- --name
- 選用
傳回名稱符合指定萬用字元模式的物件。
- --path
- 選用
傳回名稱符合指定萬用字元模式的目錄內容。
- 選用
將結果列印到
STDOUT
。支援輸出結果的替換格式。
- --tags
- 選用
新版本: RELEASE.2023-04-12T02-21-51Z
僅適用於 MinIO 部署。
傳回具有符合指定 RE2 RegEx 模式的標籤的物件。使用格式
--tag="KEY=regexValue"
。您可以傳遞具有空值的鍵。在這種情況下,
mc find
會比對沒有元資料鍵,或元資料鍵的值為空的物件。您可以多次使用該旗標來比對其他標籤的物件。若要傳回物件,其必須具有所有標籤的相符值。
- --smaller
- 選用
比指定大小小的所有物件,以單位表示。
- --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"
尋找具有相符標籤的物件
注意
標籤比對僅適用於 MinIO 部署。
mc find --tags="key=v*" ALIAS/BUCKET/
將
key
替換為要比對的標籤鍵名稱。將
v*
替換為要評估的 RE2 正規表示式。將
ALIAS
替換為 MinIO 部署的別名
。將
BUCKET
替換為要搜尋的儲存桶或前綴。
您可以新增額外的 --tags="key=RegExpression"
標記來進行比對。符合條件的物件必須符合所有包含的標籤。
尋找具有相符中繼資料的物件
注意
中繼資料比對僅適用於 MinIO 部署。
mc find --json --metadata="content-type=text/csv" ALIAS/BUCKET/
將
content-type=text/csv
替換為要比對的中繼資料欄位和值的鍵值對。將
ALIAS
替換為 MinIO 部署的別名
。將
BUCKET
替換為要搜尋的儲存桶或前綴。
您可以新增額外的 --tags="metadata=value"
標記來進行比對。符合條件的物件必須符合所有包含的中繼資料欄位。
行為
計量單位
mc find --smaller
和 mc find --larger
標記接受以下不區分大小寫的後綴,以表示指定大小值的單位
後綴 |
單位大小 |
---|---|
|
KB (千位元組,1000 位元組) |
|
MB (百萬位元組,1000 千位元組) |
|
GB (十億位元組,1000 百萬位元組) |
|
TB (兆位元組,1000 十億位元組) |
|
KiB (千位二進制位元組,1024 位元組) |
|
MiB (百萬位二進制位元組,1024 千位二進制位元組) |
|
GiB (十億位二進制位元組,1024 百萬位二進制位元組) |
|
TiB (兆位二進制位元組,1024 十億位二進制位元組) |
省略後綴預設為 位元組
。
取代格式
mc find --exec
和 mc find --print
命令支援字串取代,並對以下關鍵字進行特殊解譯。
以下關鍵字同時支援檔案系統和 S3 服務目標
{}
- 取代為完整路徑。{base}
- 取代為路徑的基本名稱。{dir}
- 取代為路徑的目錄名稱。{size}
- 取代為路徑的物件大小。{time}
- 取代為路徑的物件修改時間。
以下關鍵字僅支援 S3 服務目標
{url}
- 取代為路徑的可共享 URL。
S3 相容性
mc 命令列工具是為與 AWS S3 API 相容而建置的,並已使用 MinIO 和 AWS S3 進行測試,以確保預期的功能和行為。
MinIO 不為其他 S3 相容服務提供任何保證,因為它們的 S3 API 實作未知,因此不受支援。雖然 mc 命令可能會按照文件說明運作,但任何此類使用都需自行承擔風險。