文件

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

--exec
選用

mc find 傳回的每個物件產生一個外部處理程序。支援輸出結果的替換格式

--ignore
選用

排除名稱符合指定萬用字元模式的物件。

--larger
選用

比指定大小大的所有物件,以單位表示。

--maxdepth
選用

將目錄導覽限制為指定的深度。

--metadata
選用

新版本: RELEASE.2023-04-12T02-21-51Z

僅適用於 MinIO 部署。

傳回元資料符合指定的 key=value 的物件。使用格式 --metadata="KEY=value"

您可以傳遞具有空值的鍵。在這種情況下,mc find 會比對沒有元資料鍵,或元資料鍵的值為空的物件。

您可以多次使用該旗標來比對其他元資料鍵的物件。若要傳回物件,其必須具有所有元資料鍵的相符值。

--name
選用

傳回名稱符合指定萬用字元模式的物件。

--newer-than
選用

鏡像比指定天數新的物件。以 #d#hh#mm#ss 格式指定字串。例如:--older-than 1d2hh3mm4ss

--older-than
選用

鏡像比指定時間限制舊的物件。以 #d#hh#mm#ss 格式指定字串。例如:--older-than 1d2hh3mm4ss

預設為 0 (所有物件)。

--path
選用

傳回名稱符合指定萬用字元模式的目錄內容。

--print
選用

將結果列印到 STDOUT。支援輸出結果的替換格式

--regex
選用

傳回名稱符合指定 PCRE 正則表達式模式的物件或目錄內容。

--tags
選用

新版本: RELEASE.2023-04-12T02-21-51Z

僅適用於 MinIO 部署。

傳回具有符合指定 RE2 RegEx 模式的標籤的物件。使用格式 --tag="KEY=regexValue"

您可以傳遞具有空值的鍵。在這種情況下,mc find 會比對沒有元資料鍵,或元資料鍵的值為空的物件。

您可以多次使用該旗標來比對其他標籤的物件。若要傳回物件,其必須具有所有標籤的相符值。

--smaller
選用

比指定大小小的所有物件,以單位表示。

--versions
選用

在結果中包含所有物件版本。

--watch
選用

持續監控 ALIAS 並傳回任何符合指定條件的新物件。

全域旗標

此命令支援任何全域旗標

範例

在儲存貯體中尋找特定物件

mc find ALIAS/PATH --name NAME
  • ALIAS 替換為與 S3 相容主機的 別名

  • PATH 替換為與 S3 相容主機上的儲存貯體路徑。省略從 S3 主機根目錄搜尋的路徑。

  • NAME 替換為物件。

在儲存貯體中尋找具有檔案副檔名的物件

mc find ALIAS/PATH --name *.EXTENSION
  • ALIAS 替換為與 S3 相容主機的 別名

  • PATH 替換為與 S3 相容主機上的儲存貯體路徑。

  • EXTENSION 替換為物件的檔案副檔名。

尋找所有符合的檔案並複製到 S3 服務

mc find--exec 選項搭配使用,以在本地檔案系統上尋找檔案,並將其傳遞給 mc 命令以進行進一步處理。以下範例使用 mc cpmc find 的輸出複製到與 S3 相容的主機。

mc find FILEPATH --name "*.EXTENSION" --exec "mc cp {} ALIAS/PATH"
  • FILEPATH 替換為要搜尋的目錄完整檔案路徑。

  • EXTENSION 替換為物件的檔案副檔名。

  • ALIAS 替換為與 S3 相容主機的 別名

  • PATH 替換為與 S3 相容主機上的儲存貯體路徑。

若要持續監看指定的目錄並複製新物件,請加入 --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 --smallermc find --larger 標記接受以下不區分大小寫的後綴,以表示指定大小值的單位

後綴

單位大小

k

KB (千位元組,1000 位元組)

m

MB (百萬位元組,1000 千位元組)

g

GB (十億位元組,1000 百萬位元組)

t

TB (兆位元組,1000 十億位元組)

ki

KiB (千位二進制位元組,1024 位元組)

mi

MiB (百萬位二進制位元組,1024 千位二進制位元組)

gi

GiB (十億位二進制位元組,1024 百萬位二進制位元組)

ti

TiB (兆位二進制位元組,1024 十億位二進制位元組)

省略後綴預設為 位元組

取代格式

mc find --execmc find --print 命令支援字串取代,並對以下關鍵字進行特殊解譯。

以下關鍵字同時支援檔案系統和 S3 服務目標

  • {} - 取代為完整路徑。

  • {base} - 取代為路徑的基本名稱。

  • {dir} - 取代為路徑的目錄名稱。

  • {size} - 取代為路徑的物件大小。

  • {time} - 取代為路徑的物件修改時間。

以下關鍵字僅支援 S3 服務目標

  • {url} - 取代為路徑的可共享 URL。

S3 相容性

mc 命令列工具是為與 AWS S3 API 相容而建置的,並已使用 MinIO 和 AWS S3 進行測試,以確保預期的功能和行為。

MinIO 不為其他 S3 相容服務提供任何保證,因為它們的 S3 API 實作未知,因此不受支援。雖然 mc 命令可能會按照文件說明運作,但任何此類使用都需自行承擔風險。