基于Go的Amazon S3 CLI
MinIO Client“ mc”是用于Amazon S3兼容云存储和POSIX兼容文件系统的工具。它实现了基本的Unix命令,例如ls,cp,cat和diff。mc完全用Golang编写,并根据Apache License 2.0版发布。
该项目托管在Github上— https://github.com/minio/mc
名称:
mc-用于云存储和文件系统的MinIO Client。
用法:
mc [global flags]命令[command flags] [arguments ...]
命令:
ls列出文件和文件夹。
mb制作一个存储桶或文件夹。
cat显示文件内容。
cp将文件和文件夹从许多来源复制到一个
目标位置。
mirror从一个源递归地将其镜像
到许多目的地。
会话管理cp和镜像的会话。
共享通过URL共享文档。
diff计算两个文件或文件夹之间的差异。
access设置访问权限。
config修改,添加,从默认
配置文件[〜/ .mc / config.json]中删除别名。
更新检查新的软件更新。
版本打印版本。
全局标志:
--config-folder,-C“ /home/harsha/.mc”到
配置文件夹的路径。
--quiet,-q禁止显示Chatty控制台输出。
--mimic像操作系统工具一样。与外壳别名一起使用。
--json启用json格式的输出。
--debug启用调试输出。
--nocolor禁用控制台着色。
版:
2015年8月26日星期三19:58:04 GMT
太多选择
从GNU coreutils(8.23)包以cp,ls和cat实现的选项数量:
cat-12个选项
cp-31个选项
ls-58个选项
rsync-127个选项(不是coreutils的一部分)
很难记住超过3到4个这些选项。
台式机配有8TB SATA磁盘
ls,cp之类的工具不适用于TB大小的磁盘。用户通常最终使用rsync over cp命令来恢复失败的复制操作。同样,rsync不能扩展到TB大小的磁盘。
POSIX已死
从Ext4,XFS到NFS v4.x的基于POSIX的文件系统无法扩展以满足云的需求。亚马逊,Facebook和Google都已从POSIX转移到了通过HTTP更简单的GET / PUT样式的API。Unix工具需要重写以支持这些现代API(Amazon S3,Google Cloud Storage,Azure Blob Storage)
为什么我们写“ mc”?
我们放弃了没有意义的Unix标准,并用新的有用功能代替了它们。感谢Golang取代C作为首选的系统语言。
进度条
传输大量数据时,进度条是必须具备的功能。
挂起/恢复
能够安全地恢复失败的镜像和复制操作。
Amazon S3 API支持
Amazon S3 API是云存储的行业标准。mc桥接了Amazon S3和POSIX。
站点到站点镜像
镜像命令可计算多个站点之间的差异,并仅同步丢失的文件。
颜色编码的人类可读输出
默认情况下,现代终端上启用了彩色人类可读输出。
可编写脚本的JSON API
大型站点通过围绕常见的unix工具编写脚本来自动化常见的操作。mc支持JSON格式的输出,以实现python,bash,perl,ruby的一致脚本编写能力。
通过URL共享文档
与Dropbox和box.net相似,用户可以从命令行在Amazon S3上共享文档。Share命令生成一个带有用户指定的到期时间的URL。无需特殊凭据即可从任何地方访问此URL。
其他其他功能
单个静态二进制文件,对于GNU / Linux,Mac OS X和Microsoft Windows操作系统没有依赖性。更新通知。Amazon S3 HTTP跟踪。
社区
我们聚会的小胶质- https://gitter.im/minio/minio。请向我们发送反馈和补丁。