MinIO:客户端mc

简介

MinIO Client (mc)为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  输出版本信息。

安装

wget http://dl.minio.org.cn/client/mc/release/linux-amd64/mc
chmod +x mc
#这里minio的文件加是我存放mc文件的路径
vi ~/.bashrc
export PATH=$PATH:/opt/soft/minio

source ~/.bashrc
mc --help

MinIO:客户端mc

通过提示,我们发现mc默认的配置目录是在/home/admin/.mc

配置文件

vi /home/admin/.mc/config.json

MinIO:客户端mc

根据你自己的minio账号密码去修改

测试

下文只演示部分命令

查看所有存储桶

mc ls local

MinIO:客户端mc

列出了本地全部的存储桶.

创建存储桶

在local中创建名为test的存储桶

mc mb local/test

MinIO:客户端mc

拷贝文件到存储桶

#先创建一个文本文件
ps -ef | grep java > test.txt
#上传text.txt文件到local的test存储桶下面
mc cp test.txt local/test

MinIO:客户端mc

Pipe到对象

pipe命令拷贝stdin里的内容到目标输出,如果没有指定目标输出,则输出到stdout。

#将ps -ef | grep java的结果输出到local/test存储桶下面test2.txt文件中
ps -ef | grep java | mc pipe local/test/test2.txt

MinIO:客户端mc

合并对象

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

mc cat local/test/test.txt

MinIO:客户端mc

删除存储桶和对象

mc rm local/test/test.txt

MinIO:客户端mc

#删除存储桶时,必须加上--recursive --force这两个选项
mc rm --recursive --force local/test

MinIO:客户端mc

存储桶镜像

在文件系统和对象存储之间做同步

将一个本地文件夹镜像到local/test存储桶。

mc mirror /opt/apache-skywalking-apm-bin local/test

MinIO:客户端mc

持续监听本地文件夹修改并镜像到local/test存储桶。

mc mirror -w /opt/apache-skywalking-apm-bin local/test

MinIO:客户端mc

查找文件和对象

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

用法:
  mc find PATH [FLAGS]

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

实例:持续从local/test存储桶中查找所有txt文件,并复制到minio "local/buc1"存储桶

mc find local/test --name "*.txt" --watch --exec "mc cp {} local/buc1"

MinIO:客户端mc

显示差异

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

实例:显示本地/opt/apache-skywalking-apm-bin/local/test存储桶的差异

mc diff /opt/apache-skywalking-apm-bin/ local/test

MinIO:客户端mc

监听文件和对象存储事件

watch命令提供了一种方便监听对象存储和文件系统上不同类型事件的方式。

用法:
  mc watch [FLAGS] PATH

FLAGS:
  --events value                   过滤不同类型的事件,默认是所有类型的事件 (默认: "put,delete,get")
  --prefix value                   基于前缀过滤事件。
  --suffix value                   基于后缀过滤事件。
  --recursive                      递归方式监听事件。
  --help, -h                       显示帮助。

示例:

mc watch local/test

MinIO:客户端mc

管理存储桶策略

管理匿名访问存储桶和其内部内容的策略。

用法:
  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                       显示帮助。

设置可以下载

mc policy set download local/test/bin

MinIO:客户端mc

查看策略:

mc policy list local/test/bin

MinIO:客户端mc

删除当前的匿名存储桶策略

mc policy set none local/test/bin

MinIO:客户端mc

管理配置文件

config host命令提供了一个方便地管理~/.mc/config.json配置文件中的主机信息的方式,你也可以用文本编辑器手动修改这个配置文件。

Copy用法:
  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 -oset +o来关闭和开启history特性。

set +o history
mc config host add myminio http://localhost:9000 minioadmin minioadmin
set -o history

MinIO:客户端mc

软件更新

https://dl.min.io检查软件更新。Experimental标志会检查unstable实验性的版本,通常用作测试用途。

Copy用法:
  mc update [FLAGS]

FLAGS:
  --quiet, -q  关闭控制台输出。
  --json       使用JSON格式输出。
  --help, -h   显示帮助。

示例: 检查更新

mc update

MinIO:客户端mc

显示版本信息

mc --version

MinIO:客户端mc

MinIO:客户端mc

上一篇:Educoder-程序设计基础2:选择结构


下一篇:计算机网络体系分层结构