您当前的位置: 首页 >  nio

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CNCF对象存储工具之MinIO:4:客户端mc使用示例介绍

发布时间:2020-11-03 05:56:18 ,浏览量:0

在这里插入图片描述 MinIO的客户端MinIO Client提供了命令行的方式操作MinIO功能,它同时还支持Amazon S3的云存储服务。这篇文章继续通过示例来介绍一下其使用方式。

目录
  • MinIO服务器端安装设定
  • MinIO客户端安装设定
  • mc功能说明
  • 功能示例
    • mc config:设定配置
    • mc ls:查询
    • mc find: 查询
    • mc mb:创建存储桶
    • mc pipe:管道命令
    • mc cat:显示文件内容或者合并文件
    • mc cp: 拷贝或上传文件
    • mc share:共享文件
    • mc rm:删除
  • 总结
MinIO服务器端安装设定

详细可参看:https://liumiaocn.blog.csdn.net/article/details/109450407

MinIO客户端安装设定

详细可参看:https://liumiaocn.blog.csdn.net/article/details/109455360 本文使用brew install安装的本地客户端进行演示说明。

liumiaocn:~ liumiao$ mc --version
mc version RELEASE.2020-10-03T02-54-56Z
liumiaocn:~ liumiao$
mc功能说明

mc所提供的命令行功能说明如下所示:

命令 功能说明 ls 列出文件和文件夹。 mb 创建一个存储桶或一个文件夹。 cat 显示文件和对象内容。 pipe 将一个STDIN重定向到一个对象或者文件或者STDOUT。 share 生成用于共享的URL。 cp 拷贝文件和对象。 mirror 给存储桶和文件夹做镜像。 find 基于参数查找文件。 diff 对两个文件夹或者存储桶比较差异。 rm 删除文件和对象。 events 管理对象通知。 watch 监视文件和对象的事件。 policy 管理访问策略。 config 管理mc配置文件。 update 检查软件更新。 version 输出版本信息。 功能示例 mc config:设定配置
liumiaocn:~ liumiao$ mc config host add minio http://localhost:9000 liumiao password --api s3v4
Added `minio` successfully.
liumiaocn:~ liumiao$

或者使用如下命令

mc alias set minio http://localhost:9000 liumiao password
mc ls:查询

使用mc ls 即可查询之前设定的minio下的存储桶的信息了

liumiaocn:~ liumiao$ mc ls minio
[2020-11-02 18:55:05 CST]     0B defects/
[2020-11-02 18:54:26 CST]     0B releases/
[2020-11-02 18:53:28 CST]     0B requirements/
[2020-11-02 18:54:10 CST]     0B source-code/
liumiaocn:~ liumiao$

另外也可以使用递归选项查询目前的文件内容,目前只是在releases中上传了一个文件

liumiaocn:~ liumiao$ mc ls --recursive minio
[2020-11-02 18:57:57 CST]  18KiB releases/2020/11/001/Release-Note-2020-11-001.docx
liumiaocn:~ liumiao$
mc find: 查询

当然和unix/linux的命令相同,find可以提供更加强大的查询功能,比如

liumiaocn:~ liumiao$ mc find minio/releases --name '*.docx' 
minio/releases/2020/11/001/Release-Note-2020-11-001.docx
liumiaocn:~ liumiao$

也可以和exec组合实现更加复杂的功能,比如(此处示例文件较少,看不出效果另外组合命令的示例功能也较为简单)

liumiaocn:~ liumiao$ mc find minio/releases --name '*.docx'  --exec "mc ls {}"
[2020-11-02 18:57:57 CST]  18KiB Release-Note-2020-11-001.docx
liumiaocn:~ liumiao$
mc mb:创建存储桶

存储桶非常类似文件系统中的目录,但是官方文档建议尽量不要理解为目录,而是理解为挂载点,MinIO本身对于用户的存储桶的创建个数不具限制,但是如果使用S3的话,S3缺省对于用户的存储桶的限制是100(可以申请最大上调至1000)。创建存储桶使用mb子命令即可:

liumiaocn:~ liumiao$ mc mb minio/backups
Bucket created successfully `minio/backups`.
liumiaocn:~ liumiao$

此时从MinIO的页面中也可以清楚的看到相关的效果了 在这里插入图片描述

mc pipe:管道命令

使用管道命令可以将标准输入的信息转化至文件或者标准输出,比如利用管道命令在刚才新建的存储桶中创建一个新的文件

liumiaocn:~ liumiao$ ls easypack/ |mc pipe minio/backups/file-list-1.info
liumiaocn:~ liumiao$

然后通过mc ls命令已经可以查询到此文件的存在了

liumiaocn:~ liumiao$ mc ls --recursive minio
[2020-11-03 05:39:15 CST]   152B backups/file-list-1.info
[2020-11-02 18:57:57 CST]  18KiB releases/2020/11/001/Release-Note-2020-11-001.docx
liumiaocn:~ liumiao$
mc cat:显示文件内容或者合并文件
liumiaocn:~ liumiao$ mc cat minio/backups/file-list-1.info
README.md
ant
chatops
clamav
containers
docker
helm
jeecg
k8s
karma
machinelearning
maven
mesos
monitor
npm
openshift
pics
pip
testmv
utils
yaml
zipkin
liumiaocn:~ liumiao$
mc cp: 拷贝或上传文件

实现从本地上传文件可以使用cp子命令,比如

liumiaocn:~ liumiao$ ls -l easypack/ >local-file-list.info 
liumiaocn:~ liumiao$ mc cp local-file-list.info minio/backups/file-list-2.info
local-file-list.info:    1.19 KiB / 1.19 KiB  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  68.49 KiB/s 0sliumiaocn:~ liumiao$

上传之后使用mc ls或者直接从MinIO的UI界面都可以看到结果 在这里插入图片描述

mc share:共享文件

MinIO中文件共享的方式主要有上传和下载两种方式,可以临时地授予上传和下载的权限,永久的权限可以通过策略来设定。比如对于刚刚上传的文件,设定1小时的下载权限:

liumiaocn:~ liumiao$ mc share download --expire 1h minio/backups/file-list-2.info
URL: http://localhost:9000/backups/file-list-2.info
Expire: 1 hours 0 minutes 0 seconds
Share: http://localhost:9000/backups/file-list-2.info?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=liumiao%2F20201102%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201102T215037Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0509d08bbbe6b37e3e9ffe46bd653586da9d14e3509283b12faf9efa98009194

liumiaocn:~ liumiao$

通过share的list子命令可以继续查询上传或者下载权限

liumiaocn:~ liumiao$ mc share list download
URL: http://localhost:9000/backups/file-list-2.info
Expire: 58 minutes 53 seconds
Share: http://localhost:9000/backups/file-list-2.info?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=liumiao%2F20201102%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20201102T215037Z&X-Amz-Expires=3600&X-Amz-SignedHeaders=host&X-Amz-Signature=0509d08bbbe6b37e3e9ffe46bd653586da9d14e3509283b12faf9efa98009194

liumiaocn:~ liumiao$
mc rm:删除

可以通过rm子命令进行删除,比如删除如下文件

liumiaocn:~ liumiao$ mc rm minio/backups/file-list-1.info
Removing `minio/backups/file-list-1.info`.
liumiaocn:~ liumiao$

再次刷新页面也可以看到已经删除。 在这里插入图片描述

总结

这篇文章介绍了如何利用mc客户端的功能以及通过例子演示了如何通过mc对MinIO进行常见的操作。

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3643s