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=0509d08bbbe6b37e3e9ffe46bd653586da9d14e3509283b12faf9efa98009194liumiaocn:~ 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=0509d08bbbe6b37e3e9ffe46bd653586da9d14e3509283b12faf9efa98009194liumiaocn:~ 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进行常见的操作。

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

  1. CNCF对象存储工具之MinIO:3:客户端mc安装与设定

    这篇文章将继续验证和确认一下MinIO客户端mc的安装与设定方式. 安装方式 MacOS: brew方式安装 在MacOS上可以使用brew命令进行安装,安装命令如下所示: 执行命令:brew ins ...

  2. MinIO客户端mc使用

    官网: 英文网址(最好查看英文网址):https://min.io/ 中文网址(没有及时更新,容易被坑):http://www.minio.org.cn/ 使用的 minio 版本是:RELEASE. ...

  3. 物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用

    一. MinIO 简介 MinIO 是一款轻量级.高性能.分布式的开源对象存储系统,可以100%的运行在标准硬件,即X86等低成本机器也能够很好的运行MinIO.国内的阿里巴巴.腾讯.百度.中国联通. ...

  4. 对象存储服务MinIO

    MinIO简介 MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档.由于采用Golang实现,服务端可以工作在Windo ...

  5. java文件客户端下载_使用Java写一个minio的客户端上传下载文件

    标签:color   ati   tty   java   system   wired   format   media   param 前言: 确保已经安装了minio的服务端 代码: pom.x ...

  6. minio数据迁移-mc

    minio数据迁移-mc 下载/安装 wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x ./mc 配置 ./mc con ...

  7. HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作

    1. HDFS的java操作 hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件 1.1 ...

  8. xml对象映射_将对象映射到多个XML模式–天气示例

    xml对象映射 我已经在EclipseLink JAXB(MOXy)的@XmlPath和外部绑定文件扩展中撰写了以前的文章. 在本文中,我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的 ...

  9. 将对象映射到多个XML模式–天气示例

    我已经在EclipseLink JAXB(MOXy)的@XmlPath和外部绑定文件扩展中撰写了以前的文章. 在本文中,我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的功能. 为了使示 ...

最新文章

  1. php的遍历方法,PHP数组遍历方法总结
  2. 刚刚!最新大学专业排名出炉:北大、清华和浙大居前三!
  3. dmidecode 命令详解(获取硬件信息)
  4. 神经网络调参---权重对分类性能的影响
  5. 一些.net持久化框架的例子
  6. python根据相关系数绘制热力图
  7. 好心酸!三星可折叠屏手机Galaxy Fold下月也无法发货
  8. 为jquery.AutoComplete添加触发事件
  9. bind 启动redis_详解Redis开启远程登录连接
  10. 问答项目---登陆验证码点击切换及异步验证验证码
  11. spark on yarn 完全分部署_听说你熟悉Flink-On-Yarn的部署模式?
  12. 10个优秀个android项目,精选|快速开发
  13. Winrm+python远程连接windows执行命令
  14. Ubuntu网络连接激活失败
  15. 2021 非常火的 11 个微前端框架
  16. linux的系统监视器图片_用Nvidia Jetson Nano 2GB和Python构建一个价值60美元的人脸识别系统 - 人工智能遇见磐创...
  17. java实现png有损压缩
  18. WiFi快连、SmartConfig、SmartConnect、smartlink
  19. Item 5:Know what functions C++ silently writes and calls
  20. CVPR 2019 Oral 论文精选汇总,值得一看的 CV 论文都在这里(持续更新中)

热门文章

  1. excel建立层级_适合财务菜鸟看的Excel 教程? Excel 水平仅属于入门级。
  2. BPlay1.0系列(6:视频播放)
  3. 黑龙江省计算机三本学校,黑龙江省的公办三表大学有哪些?
  4. 看PX4的源码可以去Github上看
  5. 一家公司招聘你后,凭什么给你开高工资?
  6. HDFS高可用集群中NameNode无法启动——解决方案
  7. 关于onreadystatechange属性的一点疑问
  8. EOSIO源码分析 - EOSIO合约开发库
  9. Chu-Liu Edmonds算法在带权重的有向图中寻找最大生成树
  10. 生气,是因为你不够大度;嫉妒,是因为你不够优秀;悲伤,是因为你不够坚强;郁闷,是因为你不够豁达。记住,所有的负面情绪都源于你的弱小,唯有强大自己才能够百毒不侵!