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 管理访问策略。
config 管理mc配置文件。
update 检查软件更新。
version 输出版本信息。
docker pull minio/mc
docker run minio/mc ls play
docker pull minio/mc:edge
docker run minio/mc:edge ls play
注意: 上述示例默认使用MinIO演示环境做演示,如果想用mc操作其它S3兼容的服务,采用下面的方式来启动容器:
docker run -it --entrypoint=/bin/sh minio/mc
然后使用mc config命令。
brew install minio/stable/mc
mc --help
平台 | CPU架构 | URL |
---|---|---|
GNU/Linux | 64-bit Intel | https://dl.min.io/client/mc/release/linux-amd64/mc |
chmod +x mc
./mc --help
平台 | CPU架构 | URL |
---|---|---|
Microsoft Windows | 64-bit Intel | https://dl.min.io/client/mc/release/windows-amd64/mc.exe |
mc.exe --help
ls - 列出存储桶和对象 | mb - 创建存储桶 | cat - 合并对象 |
---|---|---|
cp - 拷贝对象 | rm - 删除对象 | pipe - Pipe到一个对象 |
share - 共享 | mirror - 存储桶镜像 | find - 查找文件和对象 |
diff - 比较存储桶差异 | policy - 给存储桶或前缀设置访问策略 | |
config - 管理配置文件 | watch - 事件监听 | events - 管理存储桶事件 |
update - 管理软件更新 | version - 显示版本信息 |
# 列出所有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/
# 在https://play.min.io上创建一个名叫"mybucket"的存储桶。
mc mb play/mybucket
Bucket created successfully ‘play/mybucket’.
# 显示myobject.txt文件的内容
mc cat play/mybucket/myobject.txt
Hello MinIO!!
# 将MySQL数据库dump文件输出到Amazon S3。
mysqldump -u root -p ******* accountsdb | mc pipe s3/sql-backups/backups/accountsdb-oct-9-2015.sql
# 拷贝一个文本文件到对象存储。
mc cp myobject.txt play/mybucket
myobject.txt: 14 B / 14 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 100.00 % 41 B/s 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
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
mc find s3/bucket --name "*.jpg" --watch --exec "mc cp {} play/bucket"
set +o history
mc alias set myminio http://localhost:9000 OMQAGGOL63D7UNVQFY8X GcY5RHNmnEWvD/1QxD3spEIGj+Vt9L7eHaAaBTkJ
set -o history
mc update
You are already running the most recent version of ‘mc’.
mc version
Version: 2016-04-01T00:22:11Z
Release-tag: RELEASE.2016-04-01T00-22-11Z
Commit-id: 12adf3be326f5b6610cdd1438f72dfd861597fce