Minio入门系列【3】MinIO Client使用详解

news2025/1/14 1:22:42

1 简介

简称mc,是minio服务器的客户端,对ls,cat,cp,mirror,diff,find等UNIX命令提供了一种替代方案,它支持文件系统和兼容Amazon S3的云存储服务(AWS Signature v2和v4)。

ls       列出文件和文件夹。
mb       创建一个存储桶或一个文件夹。
cat      显示文件和对象内容。
pipe     将一个STDIN重定向到一个对象或者文件或者STDOUT。
share    生成用于共享的URL。
cp       拷贝文件和对象。
mirror   给存储桶和文件夹做镜像。
find     基于参数查找文件。
diff     对两个文件夹或者存储桶比较差异。
rm       删除文件和对象。
events   管理对象通知。
watch    监听文件和对象的事件。
policy   管理访问策略。
session  为cp命令管理保存的会话。
config   管理mc配置文件。
update   检查软件更新。
version  输出版本信息。

2 Centos 7 安装mc

[root@hadoop001 MinIOClient]# wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
[root@hadoop001 MinIOClient]# chmod +x mc 
[root@hadoop001 MinIOClient]# mv mc /usr/bin/
# 查看帮助
[root@hadoop001 MinIOClient]# mc -h

在这里插入图片描述

添加服务器节点:

[root@hadoop001 MinIOClient]# mc config host add s3 http://192.168.58.201:9000  admin  admin123  --api s3v4
[root@hadoop001 MinIOClient]# mc config host ls
# 查看s3下的所有存储桶
[root@hadoop001 MinIOClient]# mc ls s3

可以看到当前我们添加名称为s3的节点,及这个节点下的所有存储桶:
在这里插入图片描述

3 常用命令

3.1 ls 列出存储桶和对象

ls命令列出文件、对象和存储桶。使用–incomplete flag可列出未完整拷贝的内容。

用法:
   mc ls [FLAGS] TARGET [TARGET ...]

FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r          递归。
  --incomplete, -I         列出未完整上传的对象。

示例: 列出所有s3上的存储桶。

[root@hadoop001 MinIOClient]# mc ls s3

示例: 列出所有s3上的存储桶mall4cloud下的文件。

[root@hadoop001 MinIOClient]# mc ls s3/mall4cloud

在这里插入图片描述

3.2 mb命令 - 创建存储桶

mb命令在对象存储上创建一个新的存储桶。在文件系统,它就和mkdir -p命令是一样的。存储桶相当于文件系统中的磁盘或挂载点,不应视为文件夹。MinIO对每个​​用户创建的存储桶数量没有限制。 在Amazon S3上,每个帐户被限制为100个存储桶。

用法:
   mc mb [FLAGS] TARGET [TARGET...]

FLAGS:
  --help, -h                       显示帮助。
  --region "us-east-1"         指定存储桶的region,默认是‘us-east-1’.

示例:在s3上创建一个名叫"bucket"的存储桶。

[root@hadoop001 MinIOClient]# mc mb s3/bucket

在这里插入图片描述

3.3 cat命令 - 合并对象

cat命令将一个文件或者对象的内容合并到另一个上。你也可以用它将对象的内容输出到stdout。

用法:
   mc cat [FLAGS] SOURCE [SOURCE...]

FLAGS:
  --help, -h                       显示帮助。

示例: 显示2a10430fc3134e2196fa06eadfe25b23文件的内容

[root@hadoop001 MinIOClient]# mc cat s3/mall4cloud/2023/09/08/2a10430fc3134e2196fa06eadfe25b23

在这里插入图片描述

3.4 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

3.5 cp命令 - 拷贝对象

cp命令拷贝一个或多个源文件目标输出。所有到对象存储的拷贝操作都进行了MD4SUM checkSUM校验。可以从故障点恢复中断或失败的复制操作。

用法:
   mc cp [FLAGS] SOURCE [SOURCE...] TARGET
FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r          递归拷贝。

示例: 拷贝一个本地文本文件到对象存储s3/aaaa。

[root@hadoop001 MinIOClient]# mc cp starh.sh s3/aaaa

3.6 rm命令 - 删除存储桶和对象。

使用rm命令删除文件对象或者存储桶。

用法:
   mc rm [FLAGS] TARGET [TARGET ...]

FLAGS:
  --help, -h                       显示帮助。
  --recursive, -r              递归删除。
  --force              强制执行删除操作。
  --prefix             删除批配这个前缀的对象。
  --incomplete, -I      删除未完整上传的对象。
  --fake               模拟一个假的删除操作。
  --stdin              从STDIN中读对象列表。
  --older-than value               删除N天前的对象(默认是0天)。

示例1: 删除一个对象。

[root@hadoop001 MinIOClient]# mc rm s3/aaaa/starh.sh

示例2:删除一个存储桶并递归删除里面所有的内容。由于这个操作太危险了,你必须传–force参数指定强制删除。

[root@hadoop001 MinIOClient]# mc rm --recursive --force s3/qqqqq

示例3: 从mybucket里删除所有未完整上传的对象。

[root@hadoop001 MinIOClient]# mc rm  --incomplete --recursive --force s3/bucket

示例4: 删除一天前的对象。

[root@hadoop001 MinIOClient]# mc rm --force --older-than=1 s3/bucket/oldsongs

3.7 share命令 - 共享

share命令安全地授予上传或下载的权限。此访问只是临时的,与远程用户和应用程序共享也是安全的。如果你想授予永久访问权限,你可以看看mc policy命令。

生成的网址中含有编码后的访问认证信息,任何企图篡改URL的行为都会使访问无效。想了解这种机制是如何工作的,请参考Pre-Signed URL技术。

用法:
   mc share [FLAGS] COMMAND

FLAGS:
  --help, -h                       显示帮助。

COMMANDS:
   download   生成有下载权限的URL。
   upload     生成有上传权限的URL。
   list       列出先前共享的对象和文件夹。

3.8 子命令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。

[root@hadoop001 MinIOClient]# mc share download --expire 4h s3/aaaa/aa.txt

3.9 子命令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的权限。

[root@hadoop001 MinIOClient]# mc share upload s3/bucket/myotherobject.txt

3.10 子命令share list - 列出之前的共享

share list列出没未过期的共享URL。

用法:
   mc share list COMMAND

COMMAND:
   upload:   列出先前共享的有上传权限的URL。
   download: 列出先前共享的有下载权限的URL。

3.11 mirror命令 - 存储桶镜像

mirror命令和rsync类似,只不过它是在文件系统和对象存储之间做同步。

用法:
   mc mirror [FLAGS] SOURCE TARGET

FLAGS:
  --help, -h                       显示帮助。
  --force              强制覆盖已经存在的目标。
  --fake               模拟一个假的操作。
  --watch, -w                      监听改变并执行镜像操作。
  --remove             删除目标上的外部的文件。

示例: 将一个本地文件夹minio镜像到https://play.min.io上的’bucket’存储桶。

[root@hadoop001 MinIOClient]# mc mirror …/minio/MinIOClient/bucket

3.12 find命令 - 查找文件和对象

find命令通过指定参数查找文件,它只列出满足条件的数据。

用法:
  mc find PATH [FLAGS]

FLAGS:
  --help, -h                       显示帮助。
  --exec value                     为每个匹配对象生成一个外部进程(请参阅FORMAT)
  --name value                     查找匹配通配符模式的对象。
  ...
  ...

示例: 持续从s3存储桶中查找所有jpeg图像,并复制到minio "minio/MinIOClient/bucket"存储桶

[root@hadoop001 MinIOClient]# mc find s3/bucket --name "*.jpg" --watch --exec "mc cp {} minio/MinIOClient/bucket"

3.13 diff命令 - 显示差异

diff命令计算两个目录之间的差异。它只列出缺少的或者大小不同的内容。

它不比较内容,所以可能的是,名称相同,大小相同但内容不同的对象没有被检测到。这样,它可以在不同站点或者大量数据的情况下快速比较。

用法:
  mc diff [FLAGS] FIRST SECOND

FLAGS:
  --help, -h                       显示帮助。

示例: 比较一个本地文件夹和一个远程对象存储服务

[root@hadoop001 minio]# mc diff localdir minio/MinIOClient/bucket

4 其他

其他命令不一一列出,请在官网详细阅读

https://minio.org.cn/docs/minio/linux/reference/minio-mc.html?ref=docs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1016712.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

nginx知识点详解:反向代理+负载均衡+动静分离+高可用集群

一、nginx基本概念 1. nginx是什么,做什么事情? Nginx是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强。Nginx转为性能优化而开发,能经受高负载考验。支持热部署,启动容易,运…

(三十二)大数据实战——Maxwell安装部署及其应用案例实战

前言 Maxwell是一个开源的MySQL数据库binlog解析工具,用于将MySQL数据库的binlog转换成易于消费的JSON格式,并通过Kafka、RabbitMQ、Kinesis 等消息队列或直接写入文件等方式将其输出。本节内容主要介绍如何安装部署Maxwell以及如何使用Maxwell完成数据…

通用商城项目(下)

记录一些踩坑的地方,以及理顺一些思路。 通过管理系统页面,完成商品属性分组和商品属性(基本属性)关联维护 属性表 与 属性组表 的功能完善:显示属性组与属性表的一对多关系 前端 1. 引入组件,是否显示使…

qgroundcontrol源码Andriod平台编译

1.下载QGC(qgroundcontrol)源码: 2.安装Qt5.15.2 3.配置Android平台工具集: 4.打开QGC项目文件: 5.安卓工程输出路径: 6.创建签名文件: 7.右击工程,然后选择Build 8.修改生成工程gradle.properties(Global Properties)增加下面内容: org.gradle.jvmargs-Xmx1536M --add-export…

UGNX配置许可服务器

UG客户端配置许可服务器,第一次安装完成或修改成其他许可服务器  打开菜单栏,找到Siemens NX目录->许可证工具->许可工具  切换到环境设置,设置许可服务器,点击编辑,弹出编辑框输入端口服务器IP。  输入…

[字符串和内存函数]strcat和strncat的区别

CPlus中对strcat的介绍 /* strcat example */ #include <stdio.h> #include <string.h>int main () {char str[80];strcpy (str,"these ");strcat (str,"strings ");strcat (str,"are ");strcat (str,"concatenated.");p…

进程间通信(IPC)的方法:共享内存

共享内存(shared memory)是可用IPC技术中最快的一种。一旦内存被映射到共享内存区域的进程的地址空间中&#xff0c;在进程之间传递数据时就不会发生内核(kernel)参与。然而&#xff0c;在共享内存区域存储和提取数据时&#xff0c;进程之间需要某些形式的同步(例如互斥锁、条件…

Spring Boot的魔法:构建高效Java应用的秘诀

文章目录 1. 自动配置&#xff08;Auto-Configuration&#xff09;2. 起步依赖&#xff08;Starter Dependencies&#xff09;3. 内嵌Web服务器&#xff08;Embedded Web Server&#xff09;4. 外部化配置&#xff08;Externalized Configuration&#xff09;5. Spring Boot Ac…

每日一题 213. 打家劫舍 II

难度&#xff1a;中等 思路&#xff1a; 首先不看成环&#xff0c;只是当作列表&#xff0c;那么对于第 i 间房&#xff0c;到 i 为止的最高偷窃金额为 f(i) max(f(i - 1), f(i - 2) nums[i])分析递推关系第一点&#xff0c;不管 i - 2 处的房子是否偷窃&#xff0c;i 处的…

【基础篇】ClickHouse 表结构设计

文章目录 1. ClickHouse 表结构设计1. 表的创建与标准SQL的差异1. 创建普通表2. 创建物化视图3. 创建分布式表 2. 表引擎1. MergeTree:2. Log:3. Memory:4. Distributed:5. Kafka:6. MaterializedView:7. File和URL: 3. MergeTree 家族3.1. MergeTree:3.2. ReplacingMergeTree:…

Nacos单机启动的两种方式

说明&#xff1a;直接双击nacos的启动脚本&#xff0c;默认是集群&#xff08;cluster&#xff09;的方式&#xff1b; 需要单机启动&#xff0c;有以下两种方式&#xff1b; 方式一&#xff1a;命令行 在当前目录打开命令窗口&#xff0c;输入以下命令启动nacos startup.…

jdk1.8堆内存学习

jdk1.8堆内存启动时控制参数图解 堆大小年轻代&#xff08;Young Generation&#xff09;年老代&#xff08;Old Generation&#xff09; GC相关 -Xnoclassgc&#xff1a;关闭JVM垃圾回收功能 -XX:UseSerialGC&#xff1a;使用Serial垃圾收集器&#xff0c;单线程串型收集器&…

Linux安装包 | Git使用 | NFC搭建

dpgt使用 当谈到基于 Debian 的操作系统中的软件包管理工具时&#xff0c;dpkg 是一个重要的工具。它是 Debian 系统中用于安装、升级、配置和卸载软件包的命令行工具。以下是对 dpkg 的详细介绍&#xff1a; 软件包管理&#xff1a;dpkg 可以管理系统中的软件包。它可以安装单…

Acwing 829. 模拟队列

Acwing 829. 模拟队列 题目描述思路讲解代码展示 题目描述 思路讲解 队列是先进先出&#xff0c;类比排队买饭 代码展示 #include <iostream>using namespace std;const int N 100010;int m; int q[N], hh, tt -1;int main() {cin >> m;while (m -- ){string …

ArmSoM-W3之RK3588 Debian11详解

1. 简介 RK3588从入门到精通Debian 是⼀种完全⾃由开放并⼴泛⽤于各种设备的 Linux 操作系统。Rockchip在官⽅Debian发⾏版的基础上构建和适配了相关硬件功能 2. 环境介绍 硬件环境&#xff1a; ArmSoM-W3 RK3588开发板 软件版本&#xff1a; OS&#xff1a;ArmSoM-W3 Debia…

服务器中了DevicData勒索病毒怎么办?勒索病毒解密,数据恢复

近日&#xff0c;云天数据恢复中心收到许多中了勒索病毒的用户求助。其中有多位用户中的都是同一种勒索病毒&#xff0c;它就是DevicData勒索病毒。那接下来我们就从它的特征、处理方案以及后续维护三个方面来了解一下这种勒索病毒。 一、DevicData勒索病毒的特征 加密文件&am…

VSCode 远程开发,再也不用带电脑回家了~

VS Code几乎是所有的程序员必备的工具之一&#xff0c;据说全球一般的开发者都使用过VS Code这款工具。 今天为大家介绍一下 VS Code 实现远程办公的方法。 1、概 述 通常&#xff0c;我们都是每天到工作的办公室进行办公&#xff0c;但是&#xff0c;如果下班回家&…

【多线程案例】定时器

1. 定时器是什么&#xff1f; 定时器也是软件开发中的一个重要组件. 类似于一个 "闹钟". 达到一个设定的时间之后, 就执行某个指定好的代码. 定时器是一种实际开发中非常常用的组件. 比如网络通信中, 如果对方 500ms 内没有返回数据, 则断开连接尝试重连. 比如一个 …

【Markdown】图片缩放

▚ 01 原图表示 语法为&#xff1a; ![替代文本](图片链接地址)其中&#xff0c;替代文本是在无法显示图片时显示的替代文本&#xff0c;而图片链接是指向图片的URL或相对路径。 例如&#xff0c;插入Panda图片&#xff1a; ![panda](https://img-blog.csdnimg.cn/e5f3…

李开复:我家的AI是坠吼的

创新工场董事长、鸿海独立董事李开复&#xff0c;近日出席鸿海股东会暨媒体记者会时表示&#xff0c;人工智能&#xff08;AI&#xff09;是人类史上即将面临的最伟大技术革命&#xff0c;未来十年的改变将改写人类历史、重构所有产业&#xff0c;其发展大致可分三阶段&#xf…