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

 

posted @ 2025-10-12 22:05  且行且码  阅读(15)  评论(0)    收藏  举报