前面 MinIO 服务篇介绍了怎样搭建 MinIO 服务,本章节将介绍 MinIO 的客户端工具 mc 命令。
mc 命令全称为 MinIO Client,它为 ls,cat,cp,mirror,diff,find 等 UNIX 命令提供了一种替代方案。它支持文件系统和兼容 Amazon S3 的云存储服务(AWS Signature v2 和 v4)。
在命令行直接输入 mc 命令,查看 mc 命令的语法和帮助。命令如下:
C:\> mc -h NAME: mc - MinIO 客户端用于云存储和文件系统。 USAGE: mc [FLAGS] COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...] COMMANDS: alias 在配置文件中设置、删除和列出别名 ls 列出存储桶和对象 mb 创建一个存储桶 rb 删除一个存储桶 cp 复制对象 mirror 将对象同步到远程站点 cat 显示对象内容 head 显示对象的前 “n” 行 pipe 将 STDIN 流传输到对象 share 生成临时访问对象的 URL find 搜索对象 sql 对对象运行 sql 查询 stat 显示对象元数据 mv 移动对象 tree 使用树形状的格式显示存储桶和对象 du 递归统计磁盘使用情况 retention 为对象设置持有 legalhold 管理对象的合法持有 diff 列出两个存储桶之间对象名称、大小和日期的差异 rm 删除对象 version 管理存储桶版本控制 ilm 管理存储桶生命周期 encrypt 管理存储桶加密配置 event 管理对象通知 watch 监听对象通知事件 undo 撤消 PUT/DELETE 操作 policy 管理对存储桶和对象的匿名访问 tag 管理存储桶和对象的标签 replicate 配置服务器端存储桶复制 admin 管理 MinIO 服务器 update 将 mc 更新到最新版本 GLOBAL FLAGS: --autocompletion 为您的 shell 安装自动完成功能 --config-dir value, -C value 配置文件夹的路径 (默认: "C:\\Users\\Administrator\\mc") --quiet, -q 禁用进度条显示 --no-color 禁用颜色主题 --json 启用 JSON 行格式化输出 --debug 启用调试输出 --insecure 禁用 SSL 证书验证 --help, -h 显示帮助 --version, -v 打印版本 TIP: 使用 'mc --autocompletion' 启用 shell 自动完成 VERSION: RELEASE.2021-06-13T17-48-22Z
本章节仅仅简单介绍怎样使用 mc 命令简单的对 MinIO 进行操作。在后续章节中将分别对上面的每个命令进行逐一介绍。
(1)查看帮助信息
D:\server\minio>mc -h D:\server\minio>mc --help
(2)查看 mc 版本信息
D:\server\minio>mc -v mc version RELEASE.2021-06-13T17-48-22Z D:\server\minio>mc --version mc version RELEASE.2021-06-13T17-48-22Z
(3)在本地启动一个 MinIO Server(服务地址:http://localhost:9000 AccessKey:root SecuretKey:mypassword),然后使用 mc 命令去列出存储桶和对象。如下:
a、先使用 mc config 命令添加一个存储服务,如下:
D:\server\minio>mc config host add local http://127.0.0.1:9000 root mypassword --api s3v4
上面使用 mc config host 命令的 add 选项添加一个存储服务到 mc 的配置文件(默认位于 C:\Users\Administrator\mc\config.json),然后就可以在 mc 中通过别名 “local” 访问存储服务了。其中:
local 存储服务的别名
http://127.0.0.1:9000 存储服务的 URL 地址
root 存储服务的 Access Key
mypassword 存储服务的 Securet Key
--api s3v4 存储服务采用的 API 签名。API签名是可选参数,默认情况下,它被设置为 “S3v4”。
b、使用 mc ls 命令列出存储服务中的存储桶和对象,如下:
D:\server\minio>mc ls local [2021-07-03 22:22:23 CST] 0B images\
(4)使用 --debug 查看命令的调试信息,如输出 ls 命令的详细 debug 信息。如下:
D:\server\minio>mc --debug ls local mc: <DEBUG> GET / HTTP/1.1 Host: 127.0.0.1:9000 User-Agent: MinIO (windows; amd64) minio-go/v7.0.11 mc/RELEASE.2021-06-13T17-48-22Z Authorization: AWS4-HMAC-SHA256 Credential=root/20210709/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED** X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 X-Amz-Date: 20210709T051526Z Accept-Encoding: gzip mc: <DEBUG> HTTP/1.1 200 OK Content-Length: 364 Accept-Ranges: bytes Content-Security-Policy: block-all-mixed-content Content-Type: application/xml Date: Fri, 09 Jul 2021 05:15:26 GMT Server: MinIO Vary: Origin X-Amz-Request-Id: 169007837C631DA4 X-Xss-Protection: 1; mode=block mc: <DEBUG> Response Time: 5.691ms [2021-07-03 22:22:23 CST] 0B images\
(5)使用 --json 参数启用 JSON 格式的输出。如列出 MinIO local 服务的所有存储桶。如下:
D:\server\minio>mc --json ls local { "status": "success", "type": "folder", "lastModified": "2021-07-03T22:22:23.274+08:00", "size": 0, "key": "images\\", "etag": "", "url": "http://127.0.0.1:9000/", "versionOrdinal": 1 }