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

相关推荐
编码浪子15 小时前
趣味学RUST基础篇(智能指针_结束)
开发语言·算法·rust
几颗流星1 天前
Rust 常用语法速记 - 解构赋值
后端·rust
李游Leo1 天前
Rust 开发环境安装与 crates.io 国内源配置(Windows / macOS / Linux 全流程)
windows·macos·rust
几颗流星1 天前
Rust 常用语法速记 - 循环
后端·rust
l1t1 天前
DeepSeek辅助编写的利用quick_xml把xml转为csv的rust程序
xml·开发语言·人工智能·rust·解析器·quick-xml
BoredWait1 天前
《步进电机》 rust 嵌入式esp23
rust·嵌入式
编码浪子2 天前
趣味学RUST基础篇(函数式编程闭包)
开发语言·算法·rust
光影少年2 天前
css优化都有哪些优化方案
前端·css·rust
focksorCr2 天前
编译缓存工具 sccache 效果对比
c++·缓存·rust
longxiangam3 天前
墨水屏程序
单片机·嵌入式硬件·rust·risc-v