MinIO Client (mc)为ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案。它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。
Copyls 列出文件和文件夹。
mb 创建一个存储桶或一个文件夹。
cat 显示文件和对象内容。
pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。
share 生成用于共享的URL。
cp 拷贝文件和对象。
mirror 给存储桶和文件夹做镜像。
find 基于参数查找文件。
diff 对两个文件夹或者存储桶比较差异。
rm 删除文件和对象。
events 管理对象通知。
watch 监听文件和对象的事件。
policy 管理访问策略。
session 为cp命令管理保存的会话。
config 管理mc配置文件。
update 检查软件更新。
version 输出版本信息。
Copydocker pull minio/mc
docker run minio/mc ls play
Copydocker pull minio/mc:edge
docker run minio/mc:edge ls play
注意: 上述示例默认使用MinIO演示环境做演示,如果想用mc
操作其它S3兼容的服务,采用下面的方式来启动容器:
Copydocker run -it --entrypoint=/bin/sh minio/mc
然后使用mc config
命令。
使用Homebrew安装mc。
Copybrew install minio/stable/mc
mc --help
平台 | CPU架构 | URL |
---|---|---|
GNU/Linux | 64-bit Intel | https://dl.min.io/client/mc/release/linux-amd64/mc |
Copychmod +x mc
./mc --help
平台 | CPU架构 | URL |
---|---|---|
Microsoft Windows | 64-bit Intel | https://dl.min.io/client/mc/release/windows-amd64/mc.exe |
Copymc.exe --help
通过源码安装仅适用于开发人员和高级用户。mc update
命令不支持基于源码安装的更新通知。请从https://min.io/download/#minio-client下载官方版本。
如果您没有Golang环境,请参照如何安装Golang。
Copygo get -d github.com/minio/mc
cd ${GOPATH}/src/github.com/minio/mc
make
如果你打算仅在POSIX兼容文件系统中使用mc
,那你可以直接略过本节,跳到日常使用。
添加一个或多个S3兼容的服务,请参考下面说明。mc
将所有的配置信息都存储在~/.mc/config.json
文件中。
Copymc config host add
别名就是给你的云存储服务起了一个短点的外号。S3 endpoint,access key和secret key是你的云存储服务提供的。API签名是可选参数,默认情况下,它被设置为"S3v4"。
从MinIO服务获得URL、access key和secret key。
Copymc config host add minio http://192.168.1.51 BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4
参考AWS Credentials指南获取你的AccessKeyID和SecretAccessKey。
Copymc config host add s3 https://s3.amazonaws.com BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v4
参考Google Credentials Guide获取你的AccessKeyID和SecretAccessKey。
Copymc config host add gcs https://storage.googleapis.com BKIKJAA5BMMU2RHO6IBB V8f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12 S3v2
注意:Google云存储只支持旧版签名版本V2,所以你需要选择S3v2。
mc
预先配置了云存储服务URL:https://play.min.io,别名“play”。它是一个用于研发和测试的MinIO服务。如果想测试Amazon S3,你可以将“play”替换为“s3”。
示例:
列出https://play.min.io上的所有存储桶。
Copymc ls play
[2016-03-22 19:47:48 PDT] 0B my-bucketname/
[2016-03-22 22:01:07 PDT] 0B mytestbucket/
[2016-03-22 20:04:39 PDT] 0B mybucketname/
[2016-01-28 17:23:11 PST] 0B newbucket/
[2016-03-20 09:08:36 PDT] 0B s3git-test/
你可以添加shell别名来覆盖默认的Unix工具命令。
Copyalias ls='mc ls'
alias cp='mc cp'
alias cat='mc cat'
alias mkdir='mc mb'
alias pipe='mc pipe'
alias find='mc find'
你也可以下载autocomplete/bash_autocomplete
到/etc/bash_completion.d/
,然后将其重命名为mc
。别忘了在这个文件运行source命令让其在你的当前shell上可用。
Copysudo wget https://raw.githubusercontent.com/minio/mc/master/autocomplete/bash_autocomplete -O /etc/bash_completion.d/mc
source /etc/bash_completion.d/mc
Copymc
admin config diff ls mirror policy session update watch
cat cp events mb pipe rm share version
请遵守MinIO贡献者指南