MinIO 客户端
MinIO Clientmc命令行工具提供了现代替代方案
替代传统的UNIX命令如ls, cat, cp, mirror和diff支持文件系统和 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_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(即使用
pingortraceroute).指定的
ACCESSKEY和SECRETKEY对应于 S3 服务上的一个用户。该用户必须拥有在服务上执行操作的权限。对于 MinIO 部署,请参阅访问管理有关用户访问权限的更多信息。对于其他 S3 兼容服务,请参考该服务的文档。
命令快速参考
下表列出了mc命令:
命令 |
描述 |
|---|---|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The 要仅删除存储桶中的内容,请使用 |
|
The |
|
The |
|
The |
|
使用 |
|
The |
|
The |
|
MinIO Client |
|
The |
|
The |
|
The |
|
The |
|
The |
|
The |
配置文件
mc使用一个JSON用于存储特定类型信息(例如aliases对于每个已配置的S3兼容服务。
对于 Linux 和 macOS,默认配置文件位置是~/.mc/config.json.
对于 Windows,mc尝试通过特定的环境变量来构造默认文件路径。如果变量未设置,mc移动到下一个变量。如果所有尝试都失败,mc返回一个错误。
以下列表按顺序描述了每个可能的文件路径位置mc检查它们:
HOME\.mc\config.jsonUSERPROFILE\.mc\config.jsonHOMEDRIVE+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.
模式匹配
某些命令和标志支持模式匹配。 启用后,模式可以包含以下任一通配符进行字符替换:
*用于匹配字符序列,无论是在中间还是末尾。?表示单个字符。
例如,请参考以下通配符用法及其结果的示例。
模式 |
文本 |
比赛结果 |
|---|---|---|
|
ab |
匹配 |
|
abd |
不匹配 |
|
abcd |
匹配 |
|
abxxc |
匹配 |
|
abxc |
匹配 |
|
abxc |
匹配 |
|
abc |
匹配 |
|
abcxdd |
不匹配 |
全局选项
All命令支持以下全局选项。 您也可以使用以下方式定义其中一些选项:环境变量.
- --配置目录
通往一个
JSON格式化的配置文件mc用于存储数据。参见配置文件有关更多信息mc使用配置文件。或者,设置环境变量
MC_CONFIG_DIR.
- --禁用分页器, --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.