MinIO 客户端
MinIO 客户端 mc
命令行工具为 UNIX 命令(如 ls
、cat
、cp
、mirror
和 diff
)提供了一种现代替代方案,支持文件系统和 Amazon S3 兼容的云存储服务。
命令行工具 mc 旨在与 AWS S3 API 兼容,并与 MinIO 和 AWS S3 进行了测试,以确保其预期功能和行为。
MinIO 不对其他 S3 兼容服务提供任何保证,因为它们的 S3 API 实现是未知的,因此不受支持。虽然 mc 命令 *可能* 按文档工作,但任何此类使用都由您自行承担风险。
mc
的语法如下
mc [GLOBALFLAGS] COMMAND --help
有关支持的命令列表,请参阅 命令快速参考。
与 MinIO 服务器的版本对齐
MinIO 客户端独立于 MinIO 服务器发布。
为了获得最佳功能和兼容性,请使用与 MinIO 服务器版本相近的 MinIO 客户端版本。例如,使用与您的 MinIO 服务器版本在同一天或之后发布的 MinIO 客户端版本。
您可以安装比 MinIO Server 版本更新的 MinIO Client 版本。但是,如果 MinIO Client 版本与 MinIO Server 版本相差太大,您可能会看到由于差异造成的更多警告或错误。例如,虽然围绕复制的核心 S3 API (mc cp
) 可能保持不变,但某些功能或标志可能只有在客户端和服务器版本对齐时才可用或稳定。
快速入门
1) 安装 mc
在主机上安装 mc 命令行工具。点击与主机操作系统或环境相对应的标签。
以下命令将一个临时扩展添加到您的系统 PATH 中,以便运行 mc
工具。请参考您的操作系统的说明,了解如何对系统 PATH 进行永久修改。
或者,通过导航到父文件夹并运行 ./mc --help
来执行 mc
。
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 位 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
通过双击文件执行它,或在命令提示符或 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_KEY
和SECRET_KEY
替换为 S3 服务上用户的访问密钥和密钥。
将每个参数替换为所需的值。如果您省略了 ACCESS_KEY
和 SECRET_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
或traceroute
)。指定的
ACCESSKEY
和SECRETKEY
与 S3 服务上的用户相对应。用户必须具有对服务执行操作的权限。对于 MinIO 部署,请参阅 访问管理,了解有关用户访问权限的更多信息。对于其他 S3 兼容服务,请参考该服务的文档。
命令快速参考
下表列出了 mc
命令
命令 |
描述 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
要仅删除存储桶的内容,请使用 |
|
|
|
|
|
|
|
使用 |
|
该 |
|
该 |
|
MinIO 客户端 |
|
该 |
|
该 |
|
该 |
|
该 |
|
该 |
|
该 |
配置文件
mc
使用 JSON
格式的配置文件来存储某些类型的信息,例如每个配置的 S3 兼容服务的 别名
。
对于 Linux 和 macOS,默认配置文件位置为 ~/.mc/config.json
。
对于 Windows,mc
尝试通过尝试特定的环境变量来构建默认文件路径。如果变量未设置,mc
将移至下一个变量。如果所有尝试都失败,mc
将返回错误。以下列表按 mc
检查它们的顺序描述每个可能的路径位置
HOME\.mc\config.json
USERPROFILE\.mc\config.json
HOMEDRIVE+HOMEPATH\.mc\config.json
您可以使用 --config-dir
证书
MinIO 客户端将部署的证书和 CA 存储到以下路径
Linux、macOS 和其他类 Unix 系统
~/.mc/certs/ # certificates
~/.mc/certs/CAs/ # Certificate Authorities
Windows 系统
C:\Users\[username]\mc\certs\ # certificates
C:\Users\[username]\mc\certs\CAs\ # Certificate Authorities
创建新的 别名 时,MinIO 客户端会获取对等证书,计算公钥指纹,并询问用户是否接受部署的证书。如果您决定信任证书,MinIO 客户端会将证书添加到上面列出的证书颁发机构路径中。
注意
在测试环境中,您可以通过传递 --insecure
标志来绕过选定 MinIO 客户端命令的证书检查。
模式匹配
某些命令和标志允许模式匹配。启用后,模式可以包含以下两个通配符用于字符替换
*
代表要匹配的字符串,无论是在中间还是末尾。?
代表单个字符。
例如,请参考以下示例,了解通配符的使用方式及其结果。
模式 |
文本 |
匹配结果 |
---|---|---|
|
ab |
匹配 |
|
abd |
不匹配 |
|
abcd |
匹配 |
|
abxxc |
匹配 |
|
abxc |
匹配 |
|
abxc |
匹配 |
|
abc |
匹配 |
|
abcxdd |
不匹配 |
全局选项
所有 命令 都支持以下全局选项。您还可以使用 环境变量 定义其中一些选项。
- --config-dir
mc 用于存储数据的
JSON
格式配置文件的路径。有关 mc 如何使用配置文件的更多信息,请参见 配置文件。或者,设置环境变量
MC_CONFIG_DIR
。
- --disable-pager, --dp
新版本: RELEASE.2024-04-29T09-56-05Z
禁用 MinIO 客户端在 CLI 中的分页功能。使用时,输出将打印到原始
STDOUT
而不是。
- --insecure
禁用 TLS/SSL 证书验证。允许与具有无效证书的服务器建立 TLS 连接。使用此选项针对不可信的 S3 主机时要谨慎。
或者,设置环境变量
MC_INSECURE
。
- --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
的当前版本。