本文主要介绍 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 ...]
复制代码
如:
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 ...]
复制代码
如:
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]
复制代码
如:
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。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |