简介
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
通过提示,我们发现mc默认的配置目录是在/home/admin/.mc
下
配置文件
vi /home/admin/.mc/config.json
根据你自己的minio账号密码去修改
测试
下文只演示部分命令
查看所有存储桶
mc ls local
列出了本地全部的存储桶.
创建存储桶
在local中创建名为test的存储桶
mc mb local/test
拷贝文件到存储桶
#先创建一个文本文件
ps -ef | grep java > test.txt
#上传text.txt文件到local的test存储桶下面
mc cp test.txt local/test
Pipe到对象
pipe
命令拷贝stdin里的内容到目标输出,如果没有指定目标输出,则输出到stdout。
#将ps -ef | grep java的结果输出到local/test存储桶下面test2.txt文件中
ps -ef | grep java | mc pipe local/test/test2.txt
合并对象
cat
命令将一个文件或者对象的内容合并到另一个上。你也可以用它将对象的内容输出到stdout。
mc cat local/test/test.txt
删除存储桶和对象
mc rm local/test/test.txt
#删除存储桶时,必须加上--recursive --force这两个选项
mc rm --recursive --force local/test
存储桶镜像
在文件系统和对象存储之间做同步
将一个本地文件夹镜像到local/test存储桶。
mc mirror /opt/apache-skywalking-apm-bin local/test
持续监听本地文件夹修改并镜像到local/test存储桶。
mc mirror -w /opt/apache-skywalking-apm-bin local/test
查找文件和对象
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"
显示差异
diff
命令计算两个目录之间的差异。它只列出缺少的或者大小不同的内容。
实例:显示本地/opt/apache-skywalking-apm-bin/
与local/test
存储桶的差异
mc diff /opt/apache-skywalking-apm-bin/ local/test
监听文件和对象存储事件
watch
命令提供了一种方便监听对象存储和文件系统上不同类型事件的方式。
用法:
mc watch [FLAGS] PATH
FLAGS:
--events value 过滤不同类型的事件,默认是所有类型的事件 (默认: "put,delete,get")
--prefix value 基于前缀过滤事件。
--suffix value 基于后缀过滤事件。
--recursive 递归方式监听事件。
--help, -h 显示帮助。
示例:
mc watch local/test
管理存储桶策略
管理匿名访问存储桶和其内部内容的策略。
用法:
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
查看策略:
mc policy list local/test/bin
删除当前的匿名存储桶策略
mc policy set none local/test/bin
管理配置文件
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 -o
和set +o
来关闭和开启history特性。
set +o history
mc config host add myminio http://localhost:9000 minioadmin minioadmin
set -o history
软件更新
从https://dl.min.io检查软件更新。Experimental标志会检查unstable实验性的版本,通常用作测试用途。
Copy用法:
mc update [FLAGS]
FLAGS:
--quiet, -q 关闭控制台输出。
--json 使用JSON格式输出。
--help, -h 显示帮助。
示例: 检查更新
mc update
显示版本信息
mc --version