用 mc 对 RustFS 对象存储进行操作

mc(minio client)是一个与 Minio 对象存储服务兼容的命令行工具,能够对 minio 进行操作,诸如文件的上传、下载、删除等。由于 RustFS 是 MinIO 的国产替代,因此可以用 mc 对 RustFS 进行相关操作。

mc 和 RustFS 的安装

mc 的安装比较简单,可以根据不同的 OS(Ubuntu、CentOS、macOS 等)进行一键式安装。比如在 macOS 上可以直接使用如下命令行完成安装:

安装 mc

bash 复制代码
brew install minio/stable/mc

确认安装

sql 复制代码
mc --version
mc version RELEASE.2025-07-21T05-28-08Z (commit-id=ee72571936f15b0e65dc8b4a231a4dd445e5ccb6)
Runtime: go1.24.5 darwin/arm64
Copyright (c) 2015-2025 MinIO, Inc.
License GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>

RustFS 是用 Rust 编写的新一代对象存储系统,是 MinIO 的国产替代,而且在性能上也由于 MinIO,同时完全兼容 S3。RustFS 支持通过二进制、Docker 或 K8S 进行安装。根据 RustFS 官网安装教程,执行如下命令即可完成安装:

安装

arduino 复制代码
curl -O  https://rustfs.com/install_rustfs.sh && bash install_rustfs.sh

确认安装

yaml 复制代码
rustfs --version
rustfs 1.0.0-alpha.35
build time   : 2025-07-21 09:24:22 +00:00
build profile: release
build os     : linux-x86_64
rust version : rustc 1.88.0 (6b00bc388 2025-06-23)
rust channel : stable-x86_64-unknown-linux-gnu
git branch   :
git commit   : bebd78fbbb57edab6454a2b82fe49c006a708d49
git tag      : 1.0.0-alpha.35
git status   :

然后使用默认用户名和密码(均为 rustfsadmin)通过 localhost:9000进行登录:

mc 操作 RustFS

访问密钥的创建

mc 的使用需要用到 RustFS 的访问密钥。在 RustFS 控制台 --> 左侧导航栏 --> 访问密钥 --> 添加访问密钥 来新建访问密钥,填写好访问密钥的名称、描述以及过期时间即可创建成功:

保存好访问密钥,接下来会用到。

别名配置

首先使用 mc alias 给 RustFS 实例配置好别名:

bash 复制代码
mc alias set rustfs http://rustfs.example.com:9000 ACCESS_KEY SECRET_KEY

ACCESS_KEYSECRET_KEY 替换为之前步骤中创建的访问密钥,将 rustf.example.com替换为 RustFS 实例的具体地址。

返回响应:

go 复制代码
Added `rustfs` successfully.

mc的使用

列出存储桶

使用 mc ls 列出所有的存储桶:

csharp 复制代码
mc ls rustfs
[2025-07-23 15:01:45 CST]     0B job-cache/
[2025-07-15 18:20:37 CST]     0B lfs/
[2025-07-29 09:15:35 CST]     0B rustfs-demo/
[2025-07-15 18:21:07 CST]     0B ci-secure-files/
[2025-07-15 18:20:47 CST]     0B packages/
[2025-07-26 11:35:02 CST]     0B ai-image/
[2025-07-15 18:20:24 CST]     0B artifacts/
[2025-07-15 18:20:43 CST]     0B uploads/
[2025-07-15 18:20:59 CST]     0B terraform-state/
[2025-07-15 18:20:53 CST]     0B dependency-proxy/
[2025-07-15 18:20:33 CST]     0B external-diffs/
[2025-07-15 18:21:11 CST]     0B pages/

使用 mc ls rustfs/example-bucket列出某个存储桶的数据:

bash 复制代码
mc ls rustfs/ci-secure-files
[2025-07-30 22:26:56 CST]     0B 19/

创建存储桶

使用 mc mb 创建存储桶:

bash 复制代码
mc mb rustfs/mc-usage
Bucket created successfully `rustfs/mc-usage`.

删除存储桶

使用 mc rb删除存储桶

bash 复制代码
mc rb rustfs/mc-usage
Removed `rustfs/mc-usage` successfully.

上传文件到存储桶

使用 mc cp上传文件到存储桶:

bash 复制代码
# 生成测试文件
echo "Hello RustFS" > 1.txt

# 创建测试存储桶
mc mb rustfs/mc-usage
Bucket created successfully `rustfs/mc-usage`.

# 上传文件
mc cp 1.txt rustfs/mc-usage
/tmp/1.txt:            13 B / 13 B  ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓  64 B/s 0s%

# 查看文件
mc ls rustfs/mc-usage
[2025-07-30 22:31:29 CST]    13B 1.txt

删除存储桶中的文件

使用 mc rm 删除存储中的文件:

bash 复制代码
mc rm rustfs/mc-usage/1.txt
Removed `rustfs/mc-usage/1.txt`.

mc 还有很多其他用户,可以使用 mc -help进行查看。

相关推荐
维维酱9 小时前
一、macOS 开发环境准备
rust
Hello.Reader11 小时前
Rust × Elasticsearch官方 `elasticsearch` crate 上手指南
elasticsearch·rust·jenkins
林太白14 小时前
Rust知识篇05-所有权和借用
前端·后端·rust
林太白14 小时前
Rust知识篇04-函数
前端·后端·rust
林太白14 小时前
Rust知识篇03-字符、布尔、单元类型、输出、语句表达式
前端·后端·rust
林太白15 小时前
Rust搜索优化
前端·后端·rust
景天科技苑19 小时前
【Rust多进程】征服CPU的艺术:Rust多进程实战指南
开发语言·后端·rust·rust多进程·rust进程·多进程编程
姜 萌@cnblogs19 小时前
Rust并发编程中的所有权挑战与解决方案:从实际项目看Clone策略的应用
ai·rust·tauri