CNCF对象存储工具之MinIO:4:客户端mc使用示例介绍
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使用示例介绍相关推荐
- CNCF对象存储工具之MinIO:3:客户端mc安装与设定
这篇文章将继续验证和确认一下MinIO客户端mc的安装与设定方式. 安装方式 MacOS: brew方式安装 在MacOS上可以使用brew命令进行安装,安装命令如下所示: 执行命令:brew ins ...
- MinIO客户端mc使用
官网: 英文网址(最好查看英文网址):https://min.io/ 中文网址(没有及时更新,容易被坑):http://www.minio.org.cn/ 使用的 minio 版本是:RELEASE. ...
- 物联网应用-分布式对象储存工具-MinIO 对象存储win部署及使用
一. MinIO 简介 MinIO 是一款轻量级.高性能.分布式的开源对象存储系统,可以100%的运行在标准硬件,即X86等低成本机器也能够很好的运行MinIO.国内的阿里巴巴.腾讯.百度.中国联通. ...
- 对象存储服务MinIO
MinIO简介 MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档.由于采用Golang实现,服务端可以工作在Windo ...
- java文件客户端下载_使用Java写一个minio的客户端上传下载文件
标签:color ati tty java system wired format media param 前言: 确保已经安装了minio的服务端 代码: pom.x ...
- minio数据迁移-mc
minio数据迁移-mc 下载/安装 wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod +x ./mc 配置 ./mc con ...
- HDFS的API调用,创建Maven工程,创建一个非Maven工程,HDFS客户端操作数据代码示例,文件方式操作和流式操作
1. HDFS的java操作 hdfs在生产应用中主要是客户端的开发,其核心步骤是从hdfs提供的api中构造一个HDFS的访问客户端对象,然后通过该客户端对象操作(增删改查)HDFS上的文件 1.1 ...
- xml对象映射_将对象映射到多个XML模式–天气示例
xml对象映射 我已经在EclipseLink JAXB(MOXy)的@XmlPath和外部绑定文件扩展中撰写了以前的文章. 在本文中,我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的 ...
- 将对象映射到多个XML模式–天气示例
我已经在EclipseLink JAXB(MOXy)的@XmlPath和外部绑定文件扩展中撰写了以前的文章. 在本文中,我将通过将单个对象模型映射到两个不同的XML模式来演示这些扩展的功能. 为了使示 ...
最新文章
- php的遍历方法,PHP数组遍历方法总结
- 刚刚!最新大学专业排名出炉:北大、清华和浙大居前三!
- dmidecode 命令详解(获取硬件信息)
- 神经网络调参---权重对分类性能的影响
- 一些.net持久化框架的例子
- python根据相关系数绘制热力图
- 好心酸!三星可折叠屏手机Galaxy Fold下月也无法发货
- 为jquery.AutoComplete添加触发事件
- bind 启动redis_详解Redis开启远程登录连接
- 问答项目---登陆验证码点击切换及异步验证验证码
- spark on yarn 完全分部署_听说你熟悉Flink-On-Yarn的部署模式?
- 10个优秀个android项目,精选|快速开发
- Winrm+python远程连接windows执行命令
- Ubuntu网络连接激活失败
- 2021 非常火的 11 个微前端框架
- linux的系统监视器图片_用Nvidia Jetson Nano 2GB和Python构建一个价值60美元的人脸识别系统 - 人工智能遇见磐创...
- java实现png有损压缩
- WiFi快连、SmartConfig、SmartConnect、smartlink
- Item 5:Know what functions C++ silently writes and calls
- CVPR 2019 Oral 论文精选汇总,值得一看的 CV 论文都在这里(持续更新中)
热门文章
- excel建立层级_适合财务菜鸟看的Excel 教程? Excel 水平仅属于入门级。
- BPlay1.0系列(6:视频播放)
- 黑龙江省计算机三本学校,黑龙江省的公办三表大学有哪些?
- 看PX4的源码可以去Github上看
- 一家公司招聘你后,凭什么给你开高工资?
- HDFS高可用集群中NameNode无法启动——解决方案
- 关于onreadystatechange属性的一点疑问
- EOSIO源码分析 - EOSIO合约开发库
- Chu-Liu Edmonds算法在带权重的有向图中寻找最大生成树
- 生气,是因为你不够大度;嫉妒,是因为你不够优秀;悲伤,是因为你不够坚强;郁闷,是因为你不够豁达。记住,所有的负面情绪都源于你的弱小,唯有强大自己才能够百毒不侵!