本文最后更新于 2024-05-31,文章内容可能已经过时。

Minio命令行工具

MinIO 是一个开源的对象存储服务器,可以让你轻松地在本地或私有云环境中存储、管理和访问大量的数据。要将文件加载到 MinIO 桶中,需要先确保已经安装并运行了 MinIO 服务器。然后,可以使用 MinIO 的客户端工具或者编程语言中的 MinIO SDK 来实现文件加载。

一、安装MinIO 客户端工具 mc

1.1、下载mc工具

以下命令为系统PATH添加一个临时扩展,用于运行mc实用程序。按照操作系统的说明对系统PATH进行永久性修改。
或者,通过导航到父文件夹并运行来执行mc ./mc--help

64-bit Intel

curl https://dl.min.io/client/mc/release/linux-amd64/mc \
  --create-dirs \
  -o $HOME/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

ARM64

curl https://dl.min.io/client/mc/release/linux-arm64/mc \
  --create-dirs \
  -o ~/minio-binaries/mc

chmod +x $HOME/minio-binaries/mc
export PATH=$PATH:$HOME/minio-binaries/

mc --help

1.2、配置环境变量

# 编辑当前用户的环境变量
vim ~/.bashrc
# 增加路径
export PATH=$PATH:$HOME/minio-binaries/
# 即刻生效
source ~/.bashrc

二、配置 mc 工具,连接到你的 MinIO 服务器

使用以下命令配置 :

# 样例:
mc config host add myminio http://localhost:9000 ACCESS_KEY SECRET_KEY
mc config host add testminio http://localhost:9000 root root@guoyun
# 注意替换 ACCESS_KEY 和 SECRET_KEY 为你的 MinIO 服务器的实际访问密钥和私有密钥。

#查看testminio的配置信息
mc config host  list data;

三、常用命令

3.1、mc cp 复制

语法
该命令将对象复制到 MinIO服务器或从 MinIO服务器复制对象,其中 源可以是 MinIO 或本地文件系统。
与命令行cp工具的结果类似。
注意
仅复制对象的最新版本或指定版本,而不复制任何版本信息或修改日期。 要复制所有版本、版本信息和相关元数据,请使用 mc replicate add or mc admin replicate。

1. 本地文件复制到MinIO服务器

# 单个文件
mc cp ~/mydata/object.txt testminio/mybucket/object.txt

2. 本地文件夹复制到MinIO服务器

mc cp --recursive ~/mydata/ testminio/mybucket/mydata/

3. MinIO服务器文件复制到本地

mc cp testminio/mybucket/object.txt ~/mydata/object.txt

4. MinIO服务器文件夹复制到本地

mc cp --recursive testminio/mybucket/mydata/ ~/mydata/

3.2、mc rb 删除桶

该命令将删除 MinIO服务上的一个或多个存储桶。
要仅删除存储桶的内容,请改用mc rm
以下命令删除 MinIO 部署上的存储桶:mybucket

mc rb --force testminio/mybucket

3.3、mc rm 删除文件

该命令从 MinIO 部署的存储桶中删除对象。 要完全删除存储桶,请改用mc rb

删除本地文件
mc rm ~/data/myoldobject.txt
删除minio文件
mc rm testminio/mybucket/object.txt
删除多个minio文件
mc rm testminio/mybucket/object.txt testminio/mybucket/otherobject.txt
删除minio文件夹
mc rm --recursive myminio/mybucket/mydata

3.4、mc mb 创建桶

# 新建一个存储桶
mc mb myminio/mybucket   # 注意myminio/是minio服务名,mybucket即minio的桶名;
# 递归创建存储桶
# minio文件路径使用“/”分割
mc mb myminio/mydata/2023/1/28

3.5、mc ls 列出桶和对象

# 列出桶
mc ls testminio/;
# 列出文件
mc ls testminio/mybucket/

3.6、policy(anonymous) 设置存储桶的访问策略

# 设置公共访问权限
mc anonymous set public testminio/mybucket
# 列举存储桶访问的权限
mc anonymous list testminio/mybucket

3.7、mc mv 移动和重命名

mc mv testminio/旧路径 testminio/新路径

数据来源:
Minio