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。