找回密码
 立即注册
首页 业界区 科技 MinIO 介绍(2)--MinIO 客户端 mc 基本功能

MinIO 介绍(2)--MinIO 客户端 mc 基本功能

辅箱肇 20 小时前

本文主要介绍 MinIO 客户端 mc 的基本功能;文中所使用到的软件版本:mc RELEASE.2025-07-21T05-28-08Z、Centos 8.5.2111。

1、mc 介绍

1.1、mc 安装

这里主要介绍 mc 在 Linux 环境下的部署;可通过如下地址下载 mc 二进制包:

  1. https://dl.minio.org.cn/client/mc/release/linux-amd64/mc
  2. 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 配置中的所有别名信息。

  1. mc [GLOBALFLAGS] alias list [ALIAS]
复制代码

2.1.2、mc alias remove

从本地 mc 配置中移除一个已存在的别名。

  1. mc [GLOBALFLAGS] alias remove ALIAS
复制代码

2.1.3、mc alias set

向本地 mc 配置中添加或更新别名。

  1. mc [GLOBALFLAGS] alias set \
  2. [--api "string"] \
  3. [--path "string"] \
  4. ALIAS \
  5. URL \
  6. ACCESSKEY \
  7. SECRETKEY
复制代码

ALIAS  别名
URL  MinIO 服务端 URL
ACCESSKEY  访问密钥
SECRETKEY  秘密密钥
--api  连接到 MinIO 服务时使用的签名方法,支持:S3v4 (Default)、S3v2
--path  是否启用存储桶路径查找功能,支持以下值:auto (Default)、on、off

如:

  1. ./mc alias set myMinIO http://localhost:9000 minioadmin minioadmin
复制代码

2.2、mc cat

查看文件内容。

  1. mc [GLOBALFLAGS] cat \
  2. ALIAS [ALIAS ...] \
  3. [--enc-c "value"] \
  4. [--part-number "int"] \
  5. [--rewind] \
  6. [--tail "int"] \
  7. [--version-id "string"] \
  8. [--offset "int"] \
  9. [--version-id "string"] \
  10. [--zip]
复制代码

如:

  1. ./mc cat myMinio/test/abc/a.txt
复制代码

2.3、mc cp

将对象从一个 MinIO 复制到另一个 MinIO,或者从 MinIO 复制到本地文件系统,或者从本地文件系统复制到 MinIO。

  1. mc [GLOBALFLAGS] cp \
  2. [--attr "string"] \
  3. [--disable-multipart] \
  4. [--enc-kms "string"] \
  5. [--enc-s3 "string"] \
  6. [--enc-c "string"] \
  7. [--legal-hold "on"] \
  8. [--limit-download string] \
  9. [--limit-upload string] \
  10. [--md5] \
  11. [--newer-than "string"] \
  12. [--older-than "string"] \
  13. [--preserve] \
  14. [--recursive] \
  15. [--retention-mode "string" --retention-duration "string"] \
  16. [--rewind "string"] \
  17. [--storage-class "string"] \
  18. [--tags "string"] \
  19. [--version-id "string"] \
  20. [--zip] \
  21. SOURCE [SOURCE ...] \
  22. TARGET
复制代码

如:

  1. ./mc cp ~/data.json myMinio/test/abc --上传本地文件到 MinIO
  2. ./mc cp --recursive ~/xyz my/test/abc --上传本地目录到 MinIO
  3. ./mc cp myMinio/test/abc/data.json ~ --从MinIO下载文件到本地磁盘
  4. ./mc cp myMinio/test/abc/data.json ~/data.json --从MinIO下载文件到本地磁盘
  5. ./mc cp --recursive myMinio/test/abc/xyz ~ -- 从MinIO下载目录到本地磁盘
复制代码

2.4、mc diff

比较两个目录(MinIO 目录或本地目录) 的差别,该命令只列出那些缺失或在大小上不同的对象,不比较对象的内容。

  1. mc [GLOBALFLAGS] diff SOURCE TARGET
复制代码

如:

  1. ./mc diff myMinio/test/abc/ ~/abc
复制代码

2.5、mc du

统计桶或目录(MinIO 目录或本地目录)的磁盘使用情况。

  1. mc [GLOBALFLAGS] du \
  2. [--depth] \
  3. [--recursive] \
  4. [--rewind] \
  5. [--versions] \
  6. ALIAS [ALIAS ...]
复制代码

如:

  1. ./mc du myMinio/test/abc
复制代码

2.6、mc find

查找文件或目录。

  1. mc [GLOBALFLAGS] find \
  2. [--exec "string"] \
  3. [--ignore "string"] \
  4. [--larger "string"] \
  5. [--maxdepth "string"] \
  6. [--metadata "string"] \
  7. [--name "string"] \
  8. [--newer-than "string"] \
  9. [--older-than "string"] \
  10. [--path "string"] \
  11. [--print "string"] \
  12. [--regex "string"] \
  13. [--smaller "string"] \
  14. [--tags "string"]` \
  15. [--versions] \
  16. [--watch] \
  17. ALIAS
复制代码

如:

  1. ./mc find --name *.txt myMinio/test
复制代码

2.7、mc get

从 MinIO 下载文件到本地。

  1. mc [GLOBALFLAGS] get \
  2. SOURCE \
  3. TARGET \
  4. [--enc-c string] \
  5. [--version-id, --vid value]
复制代码

如:

  1. ./mc get myMinio/test/abc/a.txt /home/mongo
复制代码

2.8、mc head

显示文件最上面 n 行数据。

  1. mc [GLOBALFLAGS] head \
  2. [--lines int] \
  3. [--rewind "string"] \
  4. [--version-id "string"] \
  5. [--enc-c "string"] \
  6. ALIAS [ALIAS ...]
复制代码

如:

  1. ./mc head -n 10 myMinio/test/abc/a.txt
复制代码

2.9、mc ls

列出 Minio 上的文件或目录。

  1. mc [GLOBALFLAGS] ls \
  2. [--incomplete] \
  3. [--recursive] \
  4. [--rewind] \
  5. [--versions] \
  6. [--summarize] \
  7. ALIAS [ALIAS ...]
复制代码

如:

  1. ./mc ls myMinio/test/abc
复制代码

2.10、mc mb

创建一个新的桶或目录,与 Linux 目录 mkdir -p 类似。

  1. mc [GLOBALFLAGS] mb \
  2. [--ignore-existing] \
  3. [--region "string"] \
  4. [--with-lock] \
  5. [--with-versioning] \
  6. ALIAS
复制代码

如:

  1. ./mc mb myMinio/test-bucket/abc
复制代码

2.11、mc mv

移动 MinIO 或主机上的文件或目录,重命名 MinIO 或主机上的文件。

  1. mc [GLOBALFLAGS] mv \
  2. [--attr "string"] \
  3. [--disable-multipart] \
  4. [--enc-kms "string"] \
  5. [--enc-s3 "string"] \
  6. [--enc-c "string"] \
  7. [--limit-download string] \
  8. [--limit-upload string] \
  9. [--newer-than "string"] \
  10. [--older-than "string"] \
  11. [--preserve] \
  12. [--recursive] \
  13. [--storage-class "string"] \
  14. SOURCE [SOURCE...] \
  15. TARGET
复制代码

如:

  1. ./mc mv myMinio/test/abc/a.txt myMinio/test2/abc
复制代码

2.12、mc ping

检查 MinIO 的存活情况。

  1. mc [GLOBALFLAGS] ping \
  2. TARGET \
  3. [--count, -c value] \
  4. [--error-count, -e value] \
  5. [--interval, -i value] \
  6. [--distributed, -a value]
复制代码

如:

  1. mc ping myMinio --count 5
复制代码

2.13、mc put

上传文件到 MinIO。

  1. mc [GLOBALFLAGS] put \
  2. TARGET \
  3. [--checksum value] \
  4. [--disable-multipart] \
  5. [--enc-kms value] \
  6. [--enc-s3 value] \
  7. [--if-not-exists] \
  8. [--parallel, -P integer] \
  9. [--part-size, -s string]
复制代码

如:

  1. ./mc put ~/a.txt myMinio/test
复制代码

2.14、mc rb

删除 MinIO 上的桶。

  1. mc [GLOBALFLAGS] rb \
  2. --force \
  3. [--dangerous] \
  4. ALIAS [ALIAS...]
复制代码

如:

  1. ./mc rb --force myMinio/test2 #桶不为空需要添加--force参数
复制代码

2.15、mc ready

检查 MinIO 的状态。

  1. mc [GLOBALFLAGS] ready \
  2. TARGET \
  3. [--cluster-read] \
  4. [--maintenance]
复制代码

如:

  1. ./mc ready myMinio
复制代码

2.16、mc rm

删除 MinIO 上文件或目录。

  1. mc [GLOBALFLAGS] rm \
  2. [--bypass] \
  3. [--dangerous] \
  4. [--dry-run] \
  5. [--force]* \
  6. [--incomplete] \
  7. [--newer-than "string"] \
  8. [--non-current] \
  9. [--older-than "string"] \
  10. [--recursive] \
  11. [--rewind "string"] \
  12. [--stdin] \
  13. [--version-id "string"]* \
  14. [--versions] \
  15. ALIAS [ALIAS ...]
复制代码

--force 允许使用以下任何参数运行 mc rm

  • --recursive
  • --versions
  • --stdin

如:

  1. ./mc rm myMinio/test3/abc/a.txt --删除文件
  2. ./mc rm --force --recursive myMinio/test3/abc --删除目录
复制代码

2.17、mc stat

显示 MinIO 存储桶或其中对象的详细信息。

  1. mc [GLOBALFLAGS] stat \
  2. [--enc-c "value"] \
  3. [--no-list] \
  4. [--recursive] \
  5. [--rewind "string"] \
  6. [--versions] \
  7. [--version-id "string"]* \
  8. ALIAS [ALIAS ...]
复制代码

如:

  1. ./mc stat myMinio/test
  2. ./mc stat --recursive myMinio/test/abc
复制代码

2.18、mc tag

标签相关操作。

2.18.1、mc tag set

设置 MinIO 中桶或文件的标签。

  1. mc [GLOBALFLAGS] tag set \
  2. [--rewind "string"] \
  3. [--versions] \
  4. [--version-id "string"]* \
  5. ALIAS \
  6. "TAGS"
复制代码

如:

  1. ./mc tag set myMinio/test "a=1&b=2"
  2. ./mc tag set myMinio/test/a.txt "a=1&b=2"
复制代码

2.18.2、mc tag list

列出 MinIO 中桶或文件的标签。

  1. mc [GLOBALFLAGS] tag set \
  2. [--rewind "string"] \
  3. [--versions] \
  4. [--version-id "string"]* \
  5. ALIAS
复制代码

如:

  1. ./mc tag list myMinio/test/abc
  2. ./mc tag list myMinio/test/a.txt
复制代码

2.18.3、mc tag remove

删除 MinIO 中桶或文件的标签。

  1. mc [GLOBALFLAGS] tag remove \
  2. [--rewind "string"] \
  3. [--versions] \
  4. [--version-id "string"]* \
复制代码

如:

  1. ./mc tag remove myMinio/test
  2. ./mc tag remove myMinio/test/a.txt
复制代码

 

 

参考:https://min-io.cn/docs/minio/linux/reference/minio-mc.html。

 


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册