用 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_KEY 和 SECRET_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进行查看。

相关推荐
golang学习记4 小时前
rust开发,选VS Code还是RustRover?
开发语言·后端·rust
滕州市燕猫虎计算机科技工作室个体工商户5 小时前
《Rust程序设计》学习笔记二
rust·学习笔记
滕州市燕猫虎计算机科技工作室个体工商户6 小时前
《Rust程序设计》学习笔记三
rust·学习笔记·rust程序设计
geovindu6 小时前
rust: Facade Pattern
开发语言·后端·设计模式·rust·外观模式
福大大架构师每日一题6 小时前
Rust 1.99.0发布:C 可变参数、裸函数、Cargo 配置、Rustdoc 性能与大量兼容性调整全解析
c语言·开发语言·rust
DongQiShanRen7 小时前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
行者-全栈开发7 小时前
华为云码道 CodeArts 实测:让 AI 用 Rust 写一个 Git 仓库健康度体检台「仓衡」
git·rust·tauri·桌面应用·ai 编程·华为云码道·codearts 代码智能体
miofly7 小时前
GitHub 今日推荐|lightcraft:纯 Rust 重写的 RAW 照片开发工具
rust·开源·github
geovindu1 天前
rust: Abstract Factory pattern
开发语言·后端·设计模式·rust·抽象工厂模式
Hi202402171 天前
同一个 NMS 算子,两种语言实现:CUDA C 与 Rust 生成 LLVM IR 和 Vortex 汇编的差异
c语言·汇编·rust·gpgpu·vortex·cudac