MinIO 介紹(2)--MinIO 客戶端 mc 基本功能
本文主要介紹 MinIO 客戶端 mc 的基本功能;文中所使用到的軟件版本:mc RELEASE.2025-07-21T05-28-08Z、Centos 8.5.2111。
1、mc 介紹
1.1、mc 安裝
這里主要介紹 mc 在 Linux 環境下的部署;可通過如下地址下載 mc 二進制包:
https://dl.minio.org.cn/client/mc/release/linux-amd64/mc https://dl.minio.io/client/mc/release/linux-amd64/mc --這個地址下載的版本比較新
1.2、mc 版本與 MinIO 服務器對齊
MinIO 客戶端與 MinIO 服務器的發布是分開的。
為了最佳功能和兼容性,請使用與 MinIO 服務器版本相近的 MinIO 客戶端版本。 例如,與 MinIO 服務器版本同一天或之后發布的 MinIO 客戶端版本。
1.3、mc 配置文件
mc 使用一個 JSON 格式的配置文件來存儲信息,對于 Linux 和 macOS,默認的配置文件位置是 ~/.mc/config.json,在使用 mc 時也可以通過 --config-dir 參數指定配置文件位置。
1.4、模式匹配
某些命令和標記允許模式匹配。 啟用后,模式可以包含以下任一通配符來替換字符:
- * 表示要匹配的字符串,可以是中間的字符串,也可以是末尾的字符串。
- ? 來表示一個字符。
1.5、全局選項
--config-dir 指定配置文件位置
--debug 向控制臺輸出詳細信息
--insecure 禁用 TLS/SSL 證書驗證
--JSON 以 JSON 格式向控制臺輸出數據
--no-color 禁用控制臺輸出顏色
--quiet 抑制控制臺輸出
--version 顯示 mc 的當前版本
--help 顯示幫助信息
2、mc 基本功能
2.1、mc alias
別名相關操作。
2.1.1、mc alias list
列出本地 mc 配置中的所有別名信息。
mc [GLOBALFLAGS] alias list [ALIAS]
2.1.2、mc alias remove
從本地 mc 配置中移除一個已存在的別名。
mc [GLOBALFLAGS] alias remove ALIAS
2.1.3、mc alias set
向本地 mc 配置中添加或更新別名。
mc [GLOBALFLAGS] alias set \ [--api "string"] \ [--path "string"] \ ALIAS \ URL \ ACCESSKEY \ SECRETKEY
ALIAS 別名
URL MinIO 服務端 URL
ACCESSKEY 訪問密鑰
SECRETKEY 秘密密鑰
--api 連接到 MinIO 服務時使用的簽名方法,支持:S3v4 (Default)、S3v2
--path 是否啟用存儲桶路徑查找功能,支持以下值:auto (Default)、on、off
如:
./mc alias set myMinIO http://localhost:9000 minioadmin minioadmin
2.2、mc cat
查看文件內容。
mc [GLOBALFLAGS] cat \ ALIAS [ALIAS ...] \ [--enc-c "value"] \ [--part-number "int"] \ [--rewind] \ [--tail "int"] \ [--version-id "string"] \ [--offset "int"] \ [--version-id "string"] \ [--zip]
如:
./mc cat myMinio/test/abc/a.txt
2.3、mc cp
將對象從一個 MinIO 復制到另一個 MinIO,或者從 MinIO 復制到本地文件系統,或者從本地文件系統復制到 MinIO。
mc [GLOBALFLAGS] cp \ [--attr "string"] \ [--disable-multipart] \ [--enc-kms "string"] \ [--enc-s3 "string"] \ [--enc-c "string"] \ [--legal-hold "on"] \ [--limit-download string] \ [--limit-upload string] \ [--md5] \ [--newer-than "string"] \ [--older-than "string"] \ [--preserve] \ [--recursive] \ [--retention-mode "string" --retention-duration "string"] \ [--rewind "string"] \ [--storage-class "string"] \ [--tags "string"] \ [--version-id "string"] \ [--zip] \ SOURCE [SOURCE ...] \ TARGET
如:
./mc cp ~/data.json myMinio/test/abc --上傳本地文件到 MinIO ./mc cp --recursive ~/xyz my/test/abc --上傳本地目錄到 MinIO ./mc cp myMinio/test/abc/data.json ~ --從MinIO下載文件到本地磁盤 ./mc cp myMinio/test/abc/data.json ~/data.json --從MinIO下載文件到本地磁盤 ./mc cp --recursive myMinio/test/abc/xyz ~ -- 從MinIO下載目錄到本地磁盤
2.4、mc diff
比較兩個目錄(MinIO 目錄或本地目錄) 的差別,該命令只列出那些缺失或在大小上不同的對象,不比較對象的內容。
mc [GLOBALFLAGS] diff SOURCE TARGET
如:
./mc diff myMinio/test/abc/ ~/abc
2.5、mc du
統計桶或目錄(MinIO 目錄或本地目錄)的磁盤使用情況。
mc [GLOBALFLAGS] du \ [--depth] \ [--recursive] \ [--rewind] \ [--versions] \ ALIAS [ALIAS ...]
如:
./mc du myMinio/test/abc
2.6、mc find
查找文件或目錄。
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
如:
./mc find --name *.txt myMinio/test
2.7、mc get
從 MinIO 下載文件到本地。
mc [GLOBALFLAGS] get \ SOURCE \ TARGET \ [--enc-c string] \ [--version-id, --vid value]
如:
./mc get myMinio/test/abc/a.txt /home/mongo
2.8、mc head
顯示文件最上面 n 行數據。
mc [GLOBALFLAGS] head \ [--lines int] \ [--rewind "string"] \ [--version-id "string"] \ [--enc-c "string"] \ ALIAS [ALIAS ...]
如:
./mc head -n 10 myMinio/test/abc/a.txt
2.9、mc ls
列出 Minio 上的文件或目錄。
mc [GLOBALFLAGS] ls \ [--incomplete] \ [--recursive] \ [--rewind] \ [--versions] \ [--summarize] \ ALIAS [ALIAS ...]
如:
./mc ls myMinio/test/abc
2.10、mc mb
創建一個新的桶或目錄,與 Linux 目錄 mkdir -p 類似。
mc [GLOBALFLAGS] mb \ [--ignore-existing] \ [--region "string"] \ [--with-lock] \ [--with-versioning] \ ALIAS
如:
./mc mb myMinio/test-bucket/abc
2.11、mc mv
移動 MinIO 或主機上的文件或目錄,重命名 MinIO 或主機上的文件。
mc [GLOBALFLAGS] mv \ [--attr "string"] \ [--disable-multipart] \ [--enc-kms "string"] \ [--enc-s3 "string"] \ [--enc-c "string"] \ [--limit-download string] \ [--limit-upload string] \ [--newer-than "string"] \ [--older-than "string"] \ [--preserve] \ [--recursive] \ [--storage-class "string"] \ SOURCE [SOURCE...] \ TARGET
如:
./mc mv myMinio/test/abc/a.txt myMinio/test2/abc
2.12、mc ping
檢查 MinIO 的存活情況。
mc [GLOBALFLAGS] ping \ TARGET \ [--count, -c value] \ [--error-count, -e value] \ [--interval, -i value] \ [--distributed, -a value]
如:
mc ping myMinio --count 5
2.13、mc put
上傳文件到 MinIO。
mc [GLOBALFLAGS] put \ TARGET \ [--checksum value] \ [--disable-multipart] \ [--enc-kms value] \ [--enc-s3 value] \ [--if-not-exists] \ [--parallel, -P integer] \ [--part-size, -s string]
如:
./mc put ~/a.txt myMinio/test
2.14、mc rb
刪除 MinIO 上的桶。
mc [GLOBALFLAGS] rb \ --force \ [--dangerous] \ ALIAS [ALIAS...]
如:
./mc rb --force myMinio/test2 #桶不為空需要添加--force參數
2.15、mc ready
檢查 MinIO 的狀態。
mc [GLOBALFLAGS] ready \ TARGET \ [--cluster-read] \ [--maintenance]
如:
./mc ready myMinio
2.16、mc rm
刪除 MinIO 上文件或目錄。
mc [GLOBALFLAGS] rm \ [--bypass] \ [--dangerous] \ [--dry-run] \ [--force]* \ [--incomplete] \ [--newer-than "string"] \ [--non-current] \ [--older-than "string"] \ [--recursive] \ [--rewind "string"] \ [--stdin] \ [--version-id "string"]* \ [--versions] \ ALIAS [ALIAS ...]
--force 允許使用以下任何參數運行 mc rm
- --recursive
- --versions
- --stdin
如:
./mc rm myMinio/test3/abc/a.txt --刪除文件 ./mc rm --force --recursive myMinio/test3/abc --刪除目錄
2.17、mc stat
顯示 MinIO 存儲桶或其中對象的詳細信息。
mc [GLOBALFLAGS] stat \ [--enc-c "value"] \ [--no-list] \ [--recursive] \ [--rewind "string"] \ [--versions] \ [--version-id "string"]* \ ALIAS [ALIAS ...]
如:
./mc stat myMinio/test ./mc stat --recursive myMinio/test/abc
2.18、mc tag
標簽相關操作。
2.18.1、mc tag set
設置 MinIO 中桶或文件的標簽。
mc [GLOBALFLAGS] tag set \ [--rewind "string"] \ [--versions] \ [--version-id "string"]* \ ALIAS \ "TAGS"
如:
./mc tag set myMinio/test "a=1&b=2" ./mc tag set myMinio/test/a.txt "a=1&b=2"
2.18.2、mc tag list
列出 MinIO 中桶或文件的標簽。
mc [GLOBALFLAGS] tag set \ [--rewind "string"] \ [--versions] \ [--version-id "string"]* \ ALIAS
如:
./mc tag list myMinio/test/abc
./mc tag list myMinio/test/a.txt
2.18.3、mc tag remove
刪除 MinIO 中桶或文件的標簽。
mc [GLOBALFLAGS] tag remove \ [--rewind "string"] \ [--versions] \ [--version-id "string"]* \
如:
./mc tag remove myMinio/test
./mc tag remove myMinio/test/a.txt
參考:https://min-io.cn/docs/minio/linux/reference/minio-mc.html。
浙公網安備 33010602011771號