文档基于2025-10-10日社区最终版构建     
切换到英文版    进入演示系统    进入交流社区

MinIO Documentation

MinIO 客户端

MinIO Clientmc命令行工具提供了现代替代方案 替代传统的UNIX命令如ls, cat, cp, mirrordiff支持文件系统和 Amazon S3 兼容的云存储服务。

Themc命令行工具专为兼容 AWS S3 API 而构建,并已通过 MinIO 和 AWS S3 测试,确保功能与行为符合预期。

MinIO 不提供对其他 S3 兼容服务的保证,因为它们的 S3 API 实现方式未知,因此不受支持。尽管mc命令可能按文档所述工作,任何此类使用风险自负。

mc具有以下语法:

mc [GLOBALFLAGS] COMMAND --help

命令快速参考有关支持的命令列表。

Version Alignment with MinIO Server

MinIO Client 与 MinIO Server 分开发布。

为获得最佳功能和兼容性,请使用与MinIO Server版本发布时间相近的MinIO Client版本。 例如,选择与MinIO Server版本同日或之后发布的MinIO Client版本。

您可以安装比MinIO Server版本更新的MinIO Client版本。 但是,如果MinIO Client版本与MinIO Server版本差异过大,由于版本差异您可能会看到更多警告或错误。 例如,虽然围绕复制操作的核心S3 API(mc cp) 可能保持不变,但某些功能或标志只有在客户端和服务器版本对齐时才可用或稳定。

快速入门

1) 安装mc

安装mc将命令行工具安装到主机上。点击与主机操作系统或环境对应的标签:

以下命令添加一个临时的extension to your system PATH for running themc实用工具。请参考您的操作系统说明来对系统PATH进行永久性修改。

或者,执行mc通过导航到父文件夹并运行./mc --help

64位英特尔

curl https://dl.min.io/client/mc/release/linux-amd64/mc \
  --create-dirs \
  -o $HOME/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

64-bit PPC

curl https://dl.min.io/client/mc/release/linux-ppc64le/mc \
  --create-dirs \
  -o ~/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

ARM64

curl https://dl.min.io/client/mc/release/linux-arm64/mc \
  --create-dirs \
  -o ~/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

从 MinIO 下载页面安装

MinIO 不正式将其二进制文件发布到常见的 Linux 软件仓库或软件包管理器(Ubuntu、RHEL、Archlinux/AUR)。 MinIO 二进制文件的唯一官方来源是MinIO 下载页面.

MinIO 不推荐通过包管理器安装,因为上游软件库可能会安装错误的软件包或重命名的软件包。

所有文档都假定已安装官方 mc通过下载页面获取客户端二进制文件,二进制文件命名保持不变。

brew install minio/stable/mc
mc --help

在浏览器中打开以下文件:

https://dl.min.io/client/mc/release/windows-amd64/mc.exe

双击该文件即可执行。or通过在命令提示符或 PowerShell 中运行以下命令:

\path\to\mc.exe --help

从源码安装适用于开发者和高级用户 需要可正常工作的 Golang 环境。参见如何安装 Golang.

在终端环境中运行以下命令进行安装mc来自源:

go install github.com/minio/mc@latest

mc update不支持基于源代码的安装。

2) 为 S3 兼容服务创建别名

重要

以下示例临时禁用 bash 历史记录,以降低认证凭证以明文形式泄露的风险。这是一项基本安全措施,并不能防范所有可能的攻击途径。在命令行输入敏感信息时,请遵循您操作系统的安全最佳实践。

使用mc alias set添加 Amazon S3 兼容服务的命令mc 配置.

bash +o history
mc alias set ALIAS HOSTNAME ACCESS_KEY SECRET_KEY
bash -o history
  • 替换ALIAS并指定一个与S3服务关联的名称。mc命令通常需要ALIAS作为参数用于 识别要执行操作的 S3 服务。

  • 替换HOSTNAME使用 S3 服务的 URL 端点或 IP 地址。

  • 替换ACCESS_KEYSECRET_KEY使用 S3 服务上用户的访问密钥和私有密钥。

将每个参数替换为所需的值。 如果省略ACCESS_KEYSECRET_KEY该命令提示您在 CLI 中输入这些值。

以下每个选项卡都包含特定于提供程序的示例:

mc alias set myminio https://minioserver.example.net ACCESS_KEY SECRET_KEY
mc alias set myS3 https://s3.{your-region-code}.amazonaws.com/endpoint ACCESS_KEY SECRET_KEY
mc alias set myGCS https://storage.googleapis.com/endpoint ACCESS_KEY SECRET_KEY

3) 测试连接

使用mc admin info测试与新添加的 MinIO 部署连接的命令:

mc admin info myminio

该命令在成功时返回有关 S3 服务的信息。如果失败,请检查以下各项:

  • 主机可以连接到S3服务URL(即使用ping or traceroute).

  • 指定的ACCESSKEYSECRETKEY对应于 S3 服务上的一个用户。该用户必须拥有在服务上执行操作的权限。

    对于 MinIO 部署,请参阅访问管理有关用户访问权限的更多信息。对于其他 S3 兼容服务,请参考该服务的文档。

命令快速参考

下表列出了mc命令:

Note

MinIO Client 还包含用于管理 MinIO 部署的管理扩展。 参见mc admin获取更完整的文档。

下表不包含这些命令。

命令

描述

Themc alias命令提供了一个方便的接口来管理S3兼容主机列表mc可以连接并对其运行操作。

Themc anonymous命令支持设置或移除匿名策略到一个存储桶及其内容。 具有匿名策略的存储桶允许公共访问,客户端可以在无需认证的情况下执行策略授予的任何操作。认证.

Themc batch命令允许您在 MinIO 部署上运行一个或多个作业任务。

mc cat

Themc cat命令将文件或对象的内容连接到另一个文件或对象。您也可以使用该命令将指定文件或对象的内容显示到STDOUT. cat具有类似功能cat.

mc cp

Themc cpcommand 命令将对象复制到 MinIO 部署或从 MinIO 部署复制对象, 其中源可以是 MinIOor本地文件系统。

mc diff

Themc diffmc 计算两个文件系统目录或 MinIO 存储桶之间的差异。mc diff仅列出缺失或大小不同的对象。mc diffdoes比较对象的内容。

mc du

Themc ducommand 命令可汇总存储桶和文件夹的磁盘使用情况。 您也可以使用du针对本地文件系统进行操作,以产生与du命令。

Themc encrypt命令集 set、update 或 disable 用于设置、更新或禁用默认存储桶的服务器端加密(SSE)模式。 MinIO 会自动使用指定的 SSE 模式加密对象。

Themc event该命令支持添加、删除和列出存储桶事件通知。

mc find

Themc find该命令支持在 MinIO 部署中搜索对象。 您也可以使用该命令在文件系统中搜索文件。

mc get

Themc get该命令从目标 S3 部署下载对象到本地文件系统。

mc head

Themc headcommand 显示第一个n对象的行数,n是传递给命令的参数。

Themc idp ldap命令允许您管理第三方配置Active Directory 或 LDAP 身份与访问管理 (IAM) 集成.

Themc idp openid命令允许您管理第三方配置OpenID 身份与访问管理(IAM)集成.

Themc idp ldap policy命令显示策略与相关组或用户之间的映射关系。

Themc ilm命令管理对象生命周期管理规则以及 MinIO 部署中的分层。

Themc legalhold命令集,用于设置、移除或检索对象法定保留 (WORM)对象设置。

Themc license命令适用于集群注册MinIO SUBNET使用这些命令来注册部署、显示集群当前许可证信息,或更新集群的许可证密钥。

mc ls

Themc ls命令列出 MinIO 或其他 S3 兼容服务上的存储桶和对象。

mc mb

Themc mb该命令在指定路径创建一个新的存储桶或目录。

mc mirror

Themc mirror命令将内容同步到 MinIO 部署,类似于rsync实用工具。mc mirror支持文件系统、MinIO 部署和其他 S3 兼容主机作为同步源。

mc mv

Themc mvcommand moves an object from source to the target, such as between MinIO deployments 命令将对象从源移动到目标,例如 在 MinIO 部署之间or同一 MinIO 部署中的存储桶之间。mc mv还支持在本地文件系统和MinIO之间移动对象。

mc od

Themc od该命令将本地文件分割成指定数量和大小的小块,复制到远程位置。 命令会输出上传文件所花费的时间。

mc ping

Themc ping该命令对指定目标执行存活检查。

mc pipe

Themc pipe命令流传输内容STDIN到目标对象。

mc put

Themc put将本地文件系统中的对象上传到目标 S3 部署的存储桶中。

mc rb

Themc rb命令移除 MinIO 上的一个或多个存储桶or另一个 S3 兼容服务。

要仅删除存储桶中的内容,请使用mc rm相反。

mc ready

Themc ready命令检查集群的状态以及集群是否具有readwritequorum.

Themc replicate命令配置和管理服务器端存储桶复制对于MinIO部署,包括active-active 复制配置重新同步.

Themc retention命令配置Write-Once Read-Many (WORM) 锁定设置存储桶中一个或多个对象的锁定设置。 您还可以设置存储桶的默认对象锁定设置,所有未设置显式对象锁定设置的对象将继承存储桶的默认设置。

mc rm

Themc rm命令移除对象从 MinIO 部署中的存储桶中。 要完全删除存储桶,请使用mc rb相反。

使用mc share用于管理预签名URL的命令,这些URL用于下载对象到MinIO存储桶以及从MinIO存储桶上传对象。

mc sql

Themc sql该命令提供了一个 S3 Select 接口,用于在指定的 MinIO 部署中对对象执行 SQL 查询。

mc stat

Themc stat该命令显示 MinIO 存储桶中对象的信息,包括对象元数据。 您也可以使用它来检索存储桶元数据。

MinIO Clientmc supportcommands 提供用于分析部署健康状况或性能以及运行诊断的工具。 您还可以上传生成的健康报告,供 MinIO 工程团队进行进一步分析。

Themc tag命令用于添加、移除和列出与存储桶或对象关联的标签。

mc tree

Themc tree该命令以树状格式列出 MinIO 存储桶中的所有前缀。该命令可选支持在存储桶的每个前缀(包括存储桶根目录)下列出所有对象。

mc undo

Themc undo命令撤销由任一操作引起的变化PUT or DELETE在指定路径下的操作。

mc update

Themc update命令自动更新mc升级到最新的稳定版本。

Themc version命令启用、禁用和检索版本控制MinIO 存储桶的状态。

mc watch

Themc watchcommand watches for events on the specified MinIO bucket or local filesystem path. For S3 services, usemc event add配置 S3 兼容服务的存储桶事件通知。

配置文件

mc使用一个JSON用于存储特定类型信息(例如aliases对于每个已配置的S3兼容服务。

对于 Linux 和 macOS,默认配置文件位置是~/.mc/config.json.

对于 Windows,mc尝试通过特定的环境变量来构造默认文件路径。如果变量未设置,mc移动到下一个变量。如果所有尝试都失败,mc返回一个错误。 以下列表按顺序描述了每个可能的文件路径位置mc检查它们:

  1. HOME\.mc\config.json

  2. USERPROFILE\.mc\config.json

  3. HOMEDRIVE+HOMEPATH\.mc\config.json

您可以使用--config-dir

证书

MinIO Client 将部署所需的证书和 CA 存储在以下路径中:

Linux, macOS, and other Unix-like systems:

~/.mc/certs/ # certificates
~/.mc/certs/CAs/ # Certificate Authorities

Windows 系统:

C:\Users\[username]\mc\certs\ # certificates
C:\Users\[username]\mc\certs\CAs\ # Certificate Authorities

当创建新的别名MinIO Client 会获取对等证书,计算公钥指纹,并询问用户是否接受该部署的证书。 如果您决定信任该证书,MinIO Client 会将该证书添加到上述证书颁发机构路径中。

Note

在测试环境中,您可以通过为选定的MinIO Client命令传递参数来绕过证书检查--insecureflag.

模式匹配

某些命令和标志支持模式匹配。 启用后,模式可以包含以下任一通配符进行字符替换:

  • *用于匹配字符序列,无论是在中间还是末尾。

  • ?表示单个字符。

例如,请参考以下通配符用法及其结果的示例。

模式

文本

比赛结果

abc*

ab

匹配

abc*

abd

不匹配

abc*c

abcd

匹配

ab*??d

abxxc

匹配

ab*??d

abxc

匹配

ab??d

abxc

匹配

ab??d

abc

匹配

ab??d

abcxdd

不匹配

全局选项

All命令支持以下全局选项。 您也可以使用以下方式定义其中一些选项:环境变量.

--配置目录

通往一个JSON格式化的配置文件mc用于存储数据。参见配置文件有关更多信息mc使用配置文件。

或者,设置环境变量MC_CONFIG_DIR.

--debug

启用控制台的详细输出。

例如,以下操作向命令添加详细输出mc ls命令:

mc --debug ls play

或者,设置环境变量MC_DEBUG.

--禁用分页器, --dp

版本 mc 中的新功能:RELEASE.2024-04-29T09-56-05Z

在 CLI 中禁用 MinIO 客户端的翻页功能。 启用后,输出将直接打印到原始终端。STDOUT相反。

--insecure

禁用 TLS/SSL 证书验证。允许与具有无效证书的服务器建立 TLS 连接。对不受信任的 S3 主机使用此选项时请谨慎操作。

或者,设置环境变量MC_INSECURE.

--json

启用JSON lines格式化输出到 控制台。

例如,以下操作将 JSON Lines 输出添加到mc ls命令:

mc --json ls play

或者,设置环境变量MC_JSON.

--no-color

禁用内置的控制台输出颜色主题。对于哑终端很有用。

或者,设置环境变量MC_NO_COLOR.

--quiet

抑制控制台输出。

或者,设置环境变量MC_QUIET.

--resolve

版本 mc 中的新功能:RELEASE.2024-08-13T05-33-17Z

创建一个自定义DNS映射,将HOST解析到指定的IP地址。

使用以下语法:

--resolve HOST[:PORT]=IP

例如:

mc alias set --resolve myminio.example.com:9000=192.168.188.118 'myminio' 'https://myminio.example.com:9000' 'miniouser' 'miniosecret'

多次重复该标志以添加额外的自定义DNS映射。

--version

显示当前版本mc.

--help
可选

在终端上显示命令使用情况的摘要。