minio cli工具

21 min read

macOS

Homebrew

Install mc packages using Homebrew

Copybrew install minio/stable/mc
mc --help

GNU/Linux

Binary Download

Platform Architecture URL
GNU/Linux 64-bit Intel https://dl.min.io/client/mc/release/linux-amd64/mc
64-bit PPC https://dl.min.io/client/mc/release/linux-ppc64le/mc
Copywget https://dl.min.io/client/mc/release/linux-amd64/mc
chmod +x mc
./mc --help

Microsoft Windows

Binary Download

Platform Architecture URL
Microsoft Windows 64-bit Intel https://dl.min.io/client/mc/release/windows-amd64/mc.exe
Copymc.exe --help

配置源

mc config host add nas http://www.x.com:9800

基本命令行

MinIO Client完全指南 Slack
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   管理访问策略。
config   管理mc配置文件。
update   检查软件更新。
version  输出版本信息。

CURD

查看本地的云存储服务器
$ mc config host list


创建bucket
$ mc mb minio-server/lvzhenjiang
# mb 是创建 bucket 子命令,minio-server/lvzhenjiang 是在 minio-server 下创建一个叫做 lvzhenjiang 的 bucket

查看bucket
$ mc ls minio-server


上传文件到bucket中
$ mc cp /etc/hosts minio-server/lvzhenjiang

# 上传一个文件到bucket中
$ mc cp /etc minio-server/lvzhenjiang --recursive
# 上传一个目录到bucket中

# 上传和下载就是linux中的cp命令


删除bucket中的文件
$ mc rm minio-server/lvzhenjiang/hosts
# 删除文件

$ mc rm minio-server/lvzhenjiang/etc --recursive --force
# 删除目录


删除bucket
$ mc rb minio-server/lvzhenjiang
# 删除 没有文件的bucket

$ mc rb minio-server/lvzhenjiang --force
# 删除 有文件的bucket

策略配置文件

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
		"s3:ListAllMyBuckets",
		"s3:ListBucket",
		"s3:GetBucketLocation",
		"s3:GetObject",
		"s3:PutObject",
		"s3:DeleteObject"
      ],
      "Resource": [
        "arn:aws:s3:::tmp/*"
      ]
    }
  ]
}