MinIO Client完全指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-client-complete-guide
下载,添加云存储服务参考这篇文章:https://www.cnblogs.com/sanduzxcvbnm/p/15988907.html
6. 全局参数
参数 [--debug]
Debug参数开启控制台输出debug信息。
示例:输出ls命令的详细debug信息。
mc --debug ls play
mc: <DEBUG> GET / HTTP/1.1
Host: play.min.io
User-Agent: MinIO (darwin; amd64) minio-go/1.0.1 mc/2016-04-01T00:22:11Z
Authorization: AWS4-HMAC-SHA256 Credential=**REDACTED**/20160408/us-east-1/s3/aws4_request, SignedHeaders=expect;host;x-amz-content-sha256;x-amz-date, Signature=**REDACTED**
Expect: 100-continue
X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
X-Amz-Date: 20160408T145236Z
Accept-Encoding: gzip
mc: <DEBUG> HTTP/1.1 200 OK
Transfer-Encoding: chunked
Accept-Ranges: bytes
Content-Type: text/xml; charset=utf-8
Date: Fri, 08 Apr 2016 14:54:55 GMT
Server: MinIO/DEVELOPMENT.2016-04-07T18-53-27Z (linux; amd64)
Vary: Origin
X-Amz-Request-Id: HP30I0W2U49BDBIO
mc: <DEBUG> Response Time: 1.220112837s
[...]
[2016-04-08 03:56:14 IST] 0B albums/
[2016-04-04 16:11:45 IST] 0B backup/
[2016-04-01 20:10:53 IST] 0B deebucket/
[2016-03-28 21:53:49 IST] 0B guestbucket/
参数 [--json]
JSON参数启用JSON格式的输出。
示例:列出MinIO play服务的所有存储桶。
mc --json ls play
{"status":"success","type":"folder","lastModified":"2016-04-08T03:56:14.577+05:30","size":0,"key":"albums/"}
{"status":"success","type":"folder","lastModified":"2016-04-04T16:11:45.349+05:30","size":0,"key":"backup/"}
{"status":"success","type":"folder","lastModified":"2016-04-01T20:10:53.941+05:30","size":0,"key":"deebucket/"}
{"status":"success","type":"folder","lastModified":"2016-03-28T21:53:49.217+05:30","size":0,"key":"guestbucket/"}
参数 [--no-color]
这个参数禁用颜色主题。对于一些比较老的终端有用。
参数 [--quiet]
这个参数关闭控制台日志输出。
参数 [--config-dir]
这个参数参数自定义的配置文件路径。
参数 [ --insecure]
跳过SSL证书验证。
7. 命令
ls - 列出存储桶和对象 mb - 创建存储桶 cat - 合并对象
cp - 拷贝对象 rm - 删除对象 pipe - Pipe到一个对象
share - 共享 mirror - 存储桶镜像 find - 查找文件和对象
diff - 比较存储桶差异 policy - 给存储桶或前缀设置访问策略
config - 管理配置文件 watch - 事件监听 events - 管理存储桶事件
update - 管理软件更新 version - 显示版本信息
ls命令 - 列出对象
ls命令列出文件、对象和存储桶。使用--incomplete flag可列出未完整拷贝的内容。
用法:
mc ls [FLAGS] TARGET [TARGET ...]
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归。
--incomplete, -I 列出未完整上传的对象。
示例: 列出所有https://play.min.io上的存储桶。
mc ls play
[2016-04-08 03:56:14 IST] 0B albums/
[2016-04-04 16:11:45 IST] 0B backup/
[2016-04-01 20:10:53 IST] 0B deebucket/
[2016-03-28 21:53:49 IST] 0B guestbucket/
[2016-04-08 20:58:18 IST] 0B mybucket/
mb命令 - 创建存储桶
mb命令在对象存储上创建一个新的存储桶。在文件系统,它就和mkdir -p命令是一样的。存储桶相当于文件系统中的磁盘或挂载点,不应视为文件夹。MinIO对每个用户创建的存储桶数量没有限制。 在Amazon S3上,每个帐户被限制为100个存储桶。有关更多信息,请参阅S3上的存储桶限制和限制 。
用法:
mc mb [FLAGS] TARGET [TARGET...]
FLAGS:
--help, -h 显示帮助。
--region "us-east-1" 指定存储桶的region,默认是‘us-east-1’.
示例:在https://play.min.io上创建一个名叫"mybucket"的存储桶。
mc mb play/mybucket
Bucket created successfully ‘play/mybucket’.
cat命令 - 合并对象
cat命令将一个文件或者对象的内容合并到另一个上。你也可以用它将对象的内容输出到stdout。
用法:
mc cat [FLAGS] SOURCE [SOURCE...]
FLAGS:
--help, -h 显示帮助。
示例: 显示myobject.txt文件的内容
mc cat play/mybucket/myobject.txt
Hello MinIO!!
pipe命令 - Pipe到对象
pipe命令拷贝stdin里的内容到目标输出,如果没有指定目标输出,则输出到stdout。
用法:
mc pipe [FLAGS] [TARGET]
FLAGS:
--help, -h 显示帮助。
示例: 将MySQL数据库dump文件输出到Amazon S3。
mysqldump -u root -p ******* accountsdb | mc pipe s3/sql-backups/backups/accountsdb-oct-9-2015.sql
cp命令 - 拷贝对象
cp命令拷贝一个或多个源文件目标输出。所有到对象存储的拷贝操作都进行了MD4SUM checkSUM校验。可以从故障点恢复中断或失败的复制操作。
用法:
mc cp [FLAGS] SOURCE [SOURCE...] TARGET
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归拷贝。
示例: 拷贝一个文本文件到对象存储。
mc cp myobject.txt play/mybucket
myobject.txt: 14 B / 14 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.00 % 41 B/s 0
rm命令 - 删除存储桶和对象。
使用rm命令删除文件对象或者存储桶。
用法:
mc rm [FLAGS] TARGET [TARGET ...]
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归删除。
--force 强制执行删除操作。
--prefix 删除批配这个前缀的对象。
--incomplete, -I 删除未完整上传的对象。
--fake 模拟一个假的删除操作。
--stdin 从STDIN中读对象列表。
--older-than value 删除N天前的对象(默认是0天)。
示例: 删除一个对象。
mc rm play/mybucket/myobject.txt
Removed ‘play/mybucket/myobject.txt’.
示例:删除一个存储桶并递归删除里面所有的内容。由于这个操作太危险了,你必须传--force参数指定强制删除。
mc rm --recursive --force play/myobject
Removed ‘play/myobject/newfile.txt’.
Removed 'play/myobject/otherobject.txt’.
示例: 从mybucket里删除所有未完整上传的对象。
mc rm --incomplete --recursive --force play/mybucket
Removed ‘play/mybucket/mydvd.iso’.
Removed 'play/mybucket/backup.tgz’.
示例: 删除一天前的对象。
mc rm --force --older-than=1 play/mybucket/oldsongs
share命令 - 共享
share命令安全地授予上传或下载的权限。此访问只是临时的,与远程用户和应用程序共享也是安全的。如果你想授予永久访问权限,你可以看看mc policy命令。
生成的网址中含有编码后的访问认证信息,任何企图篡改URL的行为都会使访问无效。想了解这种机制是如何工作的,请参考Pre-Signed URL技术。
用法:
mc share [FLAGS] COMMAND
FLAGS:
--help, -h 显示帮助。
COMMANDS:
download 生成有下载权限的URL。
upload 生成有上传权限的URL。
list 列出先前共享的对象和文件夹。
子命令share download - 共享下载
share download命令生成不需要access key和secret key即可下载的URL,过期参数设置成最大有效期(不大于7天),过期之后权限自动回收。
用法:
mc share download [FLAGS] TARGET [TARGET...]
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归共享所有对象。
--expire, -E "168h" 设置过期时限,NN[h|m|s]。
示例: 生成一个对一个对象有4小时访问权限的URL。
mc share download --expire 4h play/mybucket/myobject.txt
URL: https://play.min.io/mybucket/myobject.txt
Expire: 0 days 4 hours 0 minutes 0 seconds
Share: https://play.min.io/mybucket/myobject.txt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=Q3AM3UQ867SPQQA43P2F%2F20160408%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20160408T182008Z&X-Amz-Expires=604800&X-Amz-SignedHeaders=host&X-Amz-Signature=1527fc8f21a3a7e39ce3c456907a10b389125047adc552bcd86630b9d459b634
子命令share upload - 共享上传
share upload命令生成不需要access key和secret key即可上传的URL。过期参数设置成最大有效期(不大于7天),过期之后权限自动回收。 Content-type参数限制只允许上传指定类型的文件。
用法:
mc share upload [FLAGS] TARGET [TARGET...]
FLAGS:
--help, -h 显示帮助。
--recursive, -r 递归共享所有对象。
--expire, -E "168h" 设置过期时限,NN[h|m|s].
示例: 生成一个curl命令,赋予上传到play/mybucket/myotherobject.txt的权限。
mc share upload play/mybucket/myotherobject.txt
URL: https://play.min.io/mybucket/myotherobject.txt
Expire: 7 days 0 hours 0 minutes 0 seconds
Share: curl https://play.min.io/mybucket -F x-amz-date=20160408T182356Z -F x-amz-signature=de343934bd0ba38bda0903813b5738f23dde67b4065ea2ec2e4e52f6389e51e1 -F bucket=mybucket -F policy=eyJleHBpcmF0aW9uIjoiMjAxNi0wNC0xNVQxODoyMzo1NS4wMDdaIiwiY29uZGl0aW9ucyI6W1siZXEiLCIkYnVja2V0IiwibXlidWNrZXQiXSxbImVxIiwiJGtleSIsIm15b3RoZXJvYmplY3QudHh0Il0sWyJlcSIsIiR4LWFtei1kYXRlIiwiMjAxNjA0MDhUMTgyMzU2WiJdLFsiZXEiLCIkeC1hbXotYWxnb3JpdGhtIiwiQVdTNC1ITUFDLVNIQTI1NiJdLFsiZXEiLCIkeC1hbXotY3JlZGVudGlhbCIsIlEzQU0zVVE4NjdTUFFRQTQzUDJGLzIwMTYwNDA4L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QiXV19 -F x-amz-algorithm=AWS4-HMAC-SHA256 -F x-amz-credential=Q3AM3UQ867SPQQA43P2F/20160408/us-east-1/s3/aws4_request -F key=myotherobject.txt -F file=@<FILE>
子命令share list - 列出之前的共享
share list列出没未过期的共享URL。
用法:
mc share list COMMAND
COMMAND:
upload: 列出先前共享的有上传权限的URL。
download: 列出先前共享的有下载权限的URL。
mirror命令 - 存储桶镜像
mirror命令和rsync类似,只不过它是在文件系统和对象存储之间做同步。
用法:
mc mirror [FLAGS] SOURCE TARGET
FLAGS:
--help, -h 显示帮助。
--force 强制覆盖已经存在的目标。
--fake 模拟一个假的操作。
--watch, -w 监听改变并执行镜像操作。
--remove 删除目标上的外部的文件。
示例: 将一个本地文件夹镜像到https://play.min.io上的'mybucket'存储桶。
mc mirror localdir/ play/mybucket
localdir/b.txt: 40 B / 40 B ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 100.00 % 73 B/s 0
示例: 持续监听本地文件夹修改并镜像到https://play.min.io上的'mybucket'存储桶。
mc mirror -w localdir play/mybucket
localdir/new.txt: 10 MB / 10 MB ┃▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓┃ 100.00 % 1 MB/s 15s
find命令 - 查找文件和对象
find命令通过指定参数查找文件,它只列出满足条件的数据。
用法:
mc find PATH [FLAGS]
FLAGS:
--help, -h 显示帮助。
--exec value 为每个匹配对象生成一个外部进程(请参阅FORMAT)
--name value 查找匹配通配符模式的对象。
...
...
示例: 持续从s3存储桶中查找所有jpeg图像,并复制到minio "play/bucket"存储桶
mc find s3/bucket --name "*.jpg" --watch --exec "mc cp {} play/bucket"
diff命令 - 显示差异
diff命令计算两个目录之间的差异。它只列出缺少的或者大小不同的内容。
它不比较内容,所以可能的是,名称相同,大小相同但内容不同的对象没有被检测到。这样,它可以在不同站点或者大量数据的情况下快速比较。
用法:
mc diff [FLAGS] FIRST SECOND
FLAGS:
--help, -h 显示帮助。
示例: 比较一个本地文件夹和一个远程对象存储服务
mc diff localdir play/mybucket
‘localdir/notes.txt’ and ‘https://play.min.io/mybucket/notes.txt’ - only in first.
watch命令 - 监听文件和对象存储事件。
watch命令提供了一种方便监听对象存储和文件系统上不同类型事件的方式。
用法:
mc watch [FLAGS] PATH
FLAGS:
--events value 过滤不同类型的事件,默认是所有类型的事件 (默认: "put,delete,get")
--prefix value 基于前缀过滤事件。
--suffix value 基于后缀过滤事件。
--recursive 递归方式监听事件。
--help, -h 显示帮助。
示例: 监听对象存储的所有事件
mc watch play/testbucket
[2016-08-18T00:51:29.735Z] 2.7KiB ObjectCreated https://play.min.io/testbucket/CONTRIBUTING.md
[2016-08-18T00:51:29.780Z] 1009B ObjectCreated https://play.min.io/testbucket/MAINTAINERS.md
[2016-08-18T00:51:29.839Z] 6.9KiB ObjectCreated https://play.min.io/testbucket/README.md
示例: 监听本地文件夹的所有事件
mc watch ~/Photos
[2016-08-17T17:54:19.565Z] 3.7MiB ObjectCreated /home/minio/Downloads/tmp/5467026530_a8611b53f9_o.jpg
[2016-08-17T17:54:19.565Z] 3.7MiB ObjectCreated /home/minio/Downloads/tmp/5467026530_a8611b53f9_o.jpg
...
[2016-08-17T17:54:19.565Z] 7.5MiB ObjectCreated /home/minio/Downloads/tmp/8771468997_89b762d104_o.jpg
events命令 - 管理存储桶事件通知。
events提供了一种方便的配置存储桶的各种类型事件通知的方式。MinIO事件通知可以配置成使用 AMQP,Redis,ElasticSearch,NATS和PostgreSQL服务。MinIO configuration提供了如何配置的更多细节。
用法:
mc events COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
add 添加一个新的存储桶通知。
remove 删除一个存储桶通知。使用'--force'可以删除所有存储桶通知。
list 列出存储桶通知。
FLAGS:
--help, -h 显示帮助。
示例: 列出所有存储桶通知。
mc events list play/andoria
MyTopic arn:minio:sns:us-east-1:1:TestTopic s3:ObjectCreated:*,s3:ObjectRemoved:* suffix:.jpg
示例: 添加一个新的'sqs'通知,仅接收ObjectCreated事件。
mc events add play/andoria arn:minio:sqs:us-east-1:1:your-queue --events put
示例: 添加一个带有过滤器的'sqs'通知。
给sqs通知添加prefix和suffix过滤规则。
mc events add play/andoria arn:minio:sqs:us-east-1:1:your-queue --prefix photos/ --suffix .jpg
示例: 删除一个'sqs'通知
mc events remove play/andoria arn:minio:sqs:us-east-1:1:your-queue
policy命令 - 管理存储桶策略
管理匿名访问存储桶和其内部内容的策略。
用法:
mc policy [FLAGS] PERMISSION TARGET
mc policy [FLAGS] TARGET
mc policy list [FLAGS] TARGET
PERMISSION:
Allowed policies are: [none, download, upload, public].
FLAGS:
--help, -h 显示帮助。
示例: 显示当前匿名存储桶策略
显示当前mybucket/myphotos/2020/子文件夹的匿名策略。
mc policy play/mybucket/myphotos/2020/
Access permission for ‘play/mybucket/myphotos/2020/’ is ‘none’
示例:设置可下载的匿名存储桶策略。
设置mybucket/myphotos/2020/子文件夹可匿名下载的策略。现在,这个文件夹下的对象可被公开访问。比如:mybucket/myphotos/2020/yourobjectname可通过这个URL https://play.min.io/mybucket/myphotos/2020/yourobjectname访问。
mc policy set download play/mybucket/myphotos/2020/
Access permission for ‘play/mybucket/myphotos/2020/’ is set to 'download'
示例:删除当前的匿名存储桶策略
删除所有mybucket/myphotos/2020/这个子文件夹下的匿名存储桶策略。
mc policy set none play/mybucket/myphotos/2020/
Access permission for ‘play/mybucket/myphotos/2020/’ is set to 'none'
config命令 - 管理配置文件
config host命令提供了一个方便地管理~/.mc/config.json配置文件中的主机信息的方式,你也可以用文本编辑器手动修改这个配置文件。
用法:
mc config host COMMAND [COMMAND FLAGS | -h] [ARGUMENTS...]
COMMANDS:
add, a 添加一个新的主机到配置文件。
remove, rm 从配置文件中删除一个主机。
list, ls 列出配置文件中的主机。
FLAGS:
--help, -h 显示帮助。
示例: 管理配置文件
添加MinIO服务的access和secret key到配置文件,注意,shell的history特性可能会记录这些信息,从而带来安全隐患。在bash shell,使用set -o和set +o来关闭和开启history特性。
set +o history
mc config host add myminio http://localhost:9000 OMQAGGOL63D7UNVQFY8X GcY5RHNmnEWvD/1QxD3spEIGj+Vt9L7eHaAaBTkJ
set -o history
update命令 - 软件更新
从https://dl.min.io检查软件更新。Experimental标志会检查unstable实验性的版本,通常用作测试用途。
用法:
mc update [FLAGS]
FLAGS:
--quiet, -q 关闭控制台输出。
--json 使用JSON格式输出。
--help, -h 显示帮助。
示例: 检查更新
mc update
You are already running the most recent version of ‘mc’.
version命令 - 显示版本信息
显示当前安装的mc版本。
用法:
mc version [FLAGS]
FLAGS:
--quiet, -q 关闭控制台输出。
--json 使用JSON格式输出。
--help, -h 显示帮助。
示例: 输出mc版本。
mc version
Version: 2016-04-01T00:22:11Z
Release-tag: RELEASE.2016-04-01T00-22-11Z
Commit-id: 12adf3be326f5b6610cdd1438f72dfd861597fce
MinIO Client完全指南的更多相关文章
- vSphere Web Client使用指南之安装配置
vSphere Web Client使用指南之安装配置 vSphere Web Client是为忙碌的管理员提供的一款通用的.基于浏览器的VMware管理工具,能够监控并管理VMware基础设施.在摆 ...
- MinIO管理员完整指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-admin-complete-guide MinIO Client(mc)提供了" adm ...
- 我是如何让minio client上传速度提高几十倍的
minio java client 使用okhttp作为底层的http实现,在产品包里面局域网上传文件的速度一直只有400~800KB/s,经过一天排查发现是-Djava.compile=none禁用 ...
- elasticsearch Java Client用户指南
这里使用的Java客户端版本是5.1.2,Elasticsearch的版本号也要是5.1.2,否则一些功能可能不支持. 之前介绍过Spring Data Elasticsearch,那里也是使用了本文 ...
- MinIO Server配置指南
MinIO server在默认情况下会将所有配置信息存到 ${HOME}/.minio/config.json 文件中. 以下部分提供每个字段的详细说明以及如何自定义它们. 配置目录 默认的配置目录是 ...
- MinIO 快速入门指南
官方文档地址:http://docs.minio.org.cn/docs/ MinIO 是在 GNU Affero 通用公共许可证 v3.0 下发布的高性能对象存储. 它是与 Amazon S3 云存 ...
- MinIO Python Client SDK 快速入门指南
官方文档地址:http://docs.minio.org.cn/docs/master/python-client-quickstart-guide MinIO Python Client SDK提供 ...
- MinIO客户端快速入门指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-client-quickstart-guide MinIO Client (mc)为ls,cat,c ...
- Minio对象存储
目录 Minio对象存储 1.概述 2.功能特性 3.2.多节点 3.3.分布式 4.分布式minio集群搭建 4.1.集群规划 4.3.编写集群启动脚本(所有节点) 4.4.编写服务脚本(所有节点) ...
随机推荐
- 我为 Netty 贡献源码 | 且看 Netty 如何应对 TCP 连接的正常关闭,异常关闭,半关闭场景
欢迎关注公众号:bin的技术小屋,本文图片加载不出来的话可查看公众号原文 本系列Netty源码解析文章基于 4.1.56.Final版本 写在前面..... 本文是笔者肉眼盯 Bug 系列的第三弹,前 ...
- Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单。
前方: 开源地址:https://github.com/cyq1162/Taurus.MVC 上篇文章介绍过:工业制造行业的低代码开发平台思维架构图 规划中涉及到了微服务,近些天经过努力和不断的代码与 ...
- ADB命令用法大全
一.ADB简介 Android Debug Bridge,安卓调试桥,它借助adb.exe(Android SDK安装目录platform-tools下),用于电脑端与模拟器或者真实设备交互:使用 ...
- 【Java面试】生产环境服务器变慢,如何诊断处理?
"生产环境服务器变慢?如何诊断处理" 这是最近一些工作5年以上的粉丝反馈给我的问题,他们去一线大厂面试,都被问到了这一类的问题. 今天给大家分享一下,面试过程中遇到这个问题,我们应 ...
- MySQL Update执行流程解读
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.update跟踪执行配置 使用内部程序堆栈跟踪工具path_viewer,跟踪mysql update 一行数据的执行 ...
- 发布 .NET MAUI / MAUI Blazor 应用 (1) - Windows
发布用于Windows的 .NET MAUI 应用 打开 PowerShell 终端 , 命令行进入工程目录,以我的例子工程为例, cd BlazorMaui BlazorMaui 替换为你自己工程名 ...
- 使用Linux、Nginx和Github Actions托管部署ASP.NET Core 6.0应用
使用Linux.Nginx和Github Actions托管部署ASP.NET Core 6.0应用 前言 本文主要参考微软这篇文档而来 Host ASP.NET Core on Linux with ...
- [游记]CSP 2021 J/S
这一次,也许是我的OI生涯的转折点了--能过,学习OI的时间就不会减少:但不能过,就会减少学习OI的时间-- 上午(S组) 6:00起床.去吃早餐,结果因为边喝粥边喝牛奶导致肚子疼.(我在这里劝大家, ...
- Excel 查找函数(一):LOOKUP
序号 员工姓名 部门 职务 1 苏霞 法务部 法律顾问 2 包志林 财务部 财务总监 3 林娥云 安监部 部长 4 石少卿 质检部 质检员 5 于炳福 生产部 生产部 6 蒋琼志 仓储部 保管员 7 ...
- Linux安装JDK并配置环境变量
Linux - 安装jdk并配置环境变量 1. 前往JDK官网, 地址:https://www.oracle.com/java/technologies/downloads/ 复制下载链接 2. ...