推荐一个好用的云存储管理工具:RClone

2026年01月21日/ 浏览 5

一、简介

既然你不小心点进来了,不妨耐心听我讲几句,吃不了亏,上不了当。我力气言简意赅地描述本文主旨,以便大家快速判断是否值得看下去。

至于为何有这篇文章,一是最近打算整 OpenList,其本地挂载便便需用到此工具,二是看过该工具的介绍后被其强大的功能所吸引。作为一个开发者,经常会跟文件存储系统打交道,而RClone 便支持常见的文件存储系统,Minio、RustFS、Ceph、HDFS等,甚至包括常见的云存储系统,如:七牛云、阿里OSS、腾讯COS等。其支持的操作较为全面,包括:创建目录、上传文件(输入流、文件或目录、链接)、查看内容、生成分享链接、磁盘挂载等,可以说是很强大的云存储管理工具。

好了,闲言少叙,话归正题,祝君且听我娓娓道来。

其官网地址为:Rclone

其支持的云存储如下所示:

从上述支持列表可知,其能支持 Amazon S3 协议,正好最近有安装过 minio 和 rustfs 两款 S3协议的存储软件,正好可用来演示。

二、准备工作

因为我本地已经安装过 Minio 和 RustFS,且安装并不困难,故此处我只给出对应的 Docker 安装脚本。若想知道详细安装方式,可回看本人之前的发文史。

2.1 安装 Minio

安装 minio 的 Docker脚本如下所示:

docker run -d --name minio -p 9000:9000 -p 9001:9001 -p 9002:9002 -v ./data:/data -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin firstfinger/minio:latest-amd64

大家也能看出我所使用的镜像并非 Minio 官方提供的镜像,原因是 Minio 今年五月份的版本更新后阉割了 Web控制台的管理功能,而该镜像则基于 minio 的 object-browser项目的v1.7.6 版本和 minio 的 master分支进行构建,从而保留了 Web 控制台的管理功能。

安装完毕后登录主页面如下所示:

2.2 安装RustFS

安装 RustFS 的 Docker脚本如下所示:

docker run -d --name rustfs -p 9003:9000 -p 9004:9001 -e RUSTFS_ACCESS_KEY=rustfsadmin -e RUSTFS_SECRET_KEY=rustfsadmin -v ./data:/data rustfs/rustfs:latest

因为本人安装的minio已占据9001 和 9002 端口,故此处的宿主机端口只能依次顺延为 9003 和 9004。执行完毕后登录的主页面如下所示:

三、下载

在主页点击“Download”便会跳转到下载页面:

点击后跳转的后选择如下所示的版本下载即可:

下载后的安装程序如下所示:

四、使用

将刚才下载的压缩包进行解压,即可得到 RClone 的命令程序,本人解压后的结果如下所示:

进入解压后的文件夹便能看到对应的命令行程序:

接着便能打开命令行进行使用。当然,下面我只讲常用的使用,其他方式大家可参考官方文档自行探索。当然,在使用前需打开命令行窗口并定位到 rclone.exe目录下:

4.1 查看帮助信息

在打开的命令行窗口中输入 “.\rclone.exe --help”命令便能查看帮助信息:

4.2 配置远程存储

RClone 配置远程存储的命令为 “.\rclone.exe config”,执行后安装提示填写各种信息即可。下面我以配置 minio 为例进行演示。

首先输入 “.\rclone.exe config”进入交互式配置功能;

因为是首次配置,故执行后会提示未发现远程存储配置,并给出三个选项:创建远程存储(n: New remote)、设置配置密码(s: Set Configuration password)和 退出配置(q: Quit Config),这里输入 n 表示新建存储,输入后提示输入远程存储名字:

因为是配置 minio ,故名字为 minio,输入名字后会让选择远程存储类型,并给出支持的列表:

从这里可看出 minio 在 Amazon S3 选项中包含。因为 Minio 基于 S3协议实现,因此这里选择“4:Amazon S3”,输入后会展示基于S3协议的具体软件列表(provider):

从中便能看到 Minio 选项,即为:26。输入后开始配置是否从环境变量获取账号和密码,其选项含义如下所示:

这里按自己需求输入 true 和 false,本人设置为 false,即在后续配置密钥信息,输入后开始配置 access key id,可理解为账号:

输入账号后继续配置 secret key id ,可理解为密码:

输入后开始配置区域,因为本人是本地安装,所以输入1,表示不确定,直接略过。输入后开始配置终端信息,可认为是访问地址。需要说明的是,这里连接的是 API 端口,而非Web控制端口。若为本地安装且 API端口为9000,则此处应为“http://localhost:9000”,输入会提示触发本地约束,要求本地安装需配置区域信息,当然也可留白。本人此处不做选择,直接按 Enter 进行下一步的配置访问控制类型:

这几个选项的含义如下所示:

私有(private):为 S3 创建桶的默认桶类型,只有桶拥有者有完全的权限。公共读(public-read):表示桶拥有者有完全权限,所有用户可读。公共读写(public-read-write):表示桶拥有者有完全权限,其他用户可读可写。认证读(authentiated-read):表示桶拥有者有完全权限,其他用户需通过 S3认证后才具有读权限。桶拥有者读(bucket-owner-read):表示对象拥有者有完全权限,桶拥有者对桶内对象有可读权限。桶拥有者控制(bucket-owner-control):表示桶拥有者对桶和桶内对象都有完全的控制权限。

这里保持默认的访问控制类型即可,输入后开始配置服务端加密方式:

一般而言,保持不加密,若有加密需求,选择 KMS即可。本人此处选择 1 (不加密)。选完后会让你输入加密密钥,若配置了加密方式,则输入;若未配置,直接按 Enter键开始下一步配置:

当然因未设置加密方式,故此处直接按 Enter键进入高级配置选项:

一般直接输入 n 不配置即可。到此,minio 的配置信息便配置完毕:

此时有三个选项,即:确认配置(y)、编辑配置(e)和删除配置(d)。这里输入 y 确认即可。确认便能看到已创建的 minio 存储列表:

接着按 q 退出即可。当然,为了后续演示需要,我还需配置一下 RustFS。该软件的配置与 minio 类似,区别在于 provider处选择“46(Ohter)”:

配置完毕后如下所示:

当然, 此时也在 HOME_DIR\AppData\Roaming\rclone\rclone.conf 看到对应的配置信息:

对应的配置信息如下所示:

4.3 创建目录

创建目录对应的命令为:“mkdir”,其格式为:

.\rclone.exe mkdir <remote_storege_name>:<path>

如在minio 根目录下创建 test 目录,则最终执行命令为:

.\rclone.exe mkdir minio:/test

在命令行窗口执行后结果如下所示:

此时通过 minio 的 Web控制台便能看到新创建的 test 桶:

需要说明的是, Minio 创建目录时有限制,即无法创建无任何内容的空目录。

4.4 复制

RClone 提供的复制功能可实现文件的上传和下载。以本地和 minio 为例。若从本地向 minio 复制便是上传,若从 minio 向本地复制便为下载。当然, RClone 也支持远程存储间的拷贝。

4.4.1 复制标准输入

上传标准输入(sdin)的命令为 rcat,其对应的格式为:

stdin | .\rclone.exe rcat <remote_storege_name>:<path>/<file> -P

其中 -P 用于打印上传进度。下面将输出 “hello world”到 minio 的 test桶下的test.txt中,则最终执行命令为:

echo "hello world" | .\rclone.exe rcat minio:/test/test.txt -P

在命令行窗口执行结果如下所示:

此时在 minio 的 Web 控制台查看的效果如下所示:

4.4.2 复制目录下的文件

上传目录下的内容的命令为:copy,其格式为:

.\rclone.exe copy source:sourcePath dest:destPath -P

需要说明的是, copy 拷贝的只是目录下的文件,而非目录本身。当source 或 dest 为本地系统时可省略。首先在 E:\download\素材库 目录下放置几个文件:

接着通过 RClone 将该文件夹下的内容上传到 minio 的test 桶中,最终的执行命令为:

.\rclone.exe copy E:\download\素材库 minio:/test/data -P

在命令行窗口执行结果如下所示:

接着打开 minio 的 Web控制台查看结果如下所示:

4.4.3 复制指定文件或目录

上传指定文件或目录的命令为:copyto,可将当前文件或目录上传为与当前名称不同的文件或目录。其格式为:

.\rclone.exe copyto src dest -P

需要说明的是,当 src 为目录时,其效果与 copy 等同。为了演示上传指定文件,在刚才目录(E:\download\素材库)下加入一张图片:

接着通过 RClone 将该图片上传到 minio 的 test桶的 data 文件夹下,并重命名为 Thor.jpg ,此时最终执行命令为:

.\rclone.exe copyto E:\download\素材库\雷神托尔.jpg minio:/test/data/Thor.jpg -P

该命令在命令行窗口执行结果如下所示:

接着在 minio 的 Web 控制台查看效果如下所示:

4.4.4 复制指定链接资源到目录下

上传指定链接资源到目录下的命令为:copyurl ,其格式为:

.\rclone.exe copyurl url dest:path -P

这里从网上找一个资源,如犬夜叉剧照的图片,其图片地址为:

https://i0.hdslb.com/bfs/archive/4d9fee45b161f6867bb5b2d0cd9672e15cabd05c.jpg:

接着通过 RClone 将其上传到 minio 上,对应的最终执行命令为:

.\rclone.exe copyurl https://i0.hdslb.com/bfs/archive/4d9fee45b161f6867bb5b2d0cd9672e15cabd05c.jpg minio:/test/犬夜叉.jpg -P

该命令在命令行窗口执行结果如下所示:

接着在minio 的Web 控制台查看效果如下所示:

4.5 查看

4.5.1 查看目录

查看目录的命令为 lsd,其格式为:

.\rclone.exe lsd <remote_storege_name>:<path> -R

其中,-R 表示递归查看。如查看 minio 根目录下的内容,最终执行命令为:

.\rclone.exe lsd minio:/ -R

在命令行窗口执行结果如下所示:

4.5.2 查看对象大小和路径

查看对象大小和路径的命令为:ls,其对应格式为:

.\rclone.exe ls <remote_storege_name>:<path>

如查看 minio 的根目录下的对象信息,最终执行命令如下所示:

.\rclone.exe ls minio:/

在命令行窗口执行结果如下所示:

4.5.3 查看对象大小、路径和修改时间

除查看对象大小、路径外,还想查看修改时间,则需用命令 lsl,其格式为:

.\rclone.exe lsl <remote_storege_name>:<path>

如查看 minio 路径下的对象信息,则最终执行命令如下所示:

.\rclone.exe lsl minio:/

在命令行窗口执行结果如下所示:

4.5.4 以友好格式列出目录和对象

所谓友好格式即适合人们阅读的格式,即常见的文件或目录路径表示法,其对应命令为:lsf,对应的格式为:

.\rclone.exe lsf <remote_storege_name>:<path> -R

如查看 minio 根目录下的内容,则最终执行命令如下所示:

.\rclone.exe lsf minio:/ -R

在命令行窗口执行结果如下所示:

4.5.5 以 JSON格式列出对象和目录

以 JSON 格式列出对象和目录的命令为: lsjson,对应格式如下所示:

.\rclone.exe lsjson <remote_storege_name>:<path> -R

如查看 minio 根目录下的内容,则最终执行命令如下所示:

.\rclone.exe lsjson minio:/ -R

在命令行窗口执行结果如下所示:

4.5.6 以文件树形式列出内容

以文件树形式列出内容的命令为:tree,该命令格式为:

.\rclone.exe tree <remote_storege_name>:<path>

如查看 minio 的 test 桶,则最终执行命令为:

.\rclone.exe tree minio:/test

该命令在命令行窗口执行结果如下所示:

4.5.7 以ncdu 方式查看

以 nddu 方式查看的命令为 ncdu,其命令行格式为:

.\rclone.exe ncdu <remote_storege_name>:<path>

这里还是查看 minio 的根目录,则最终执行命令为:

.\rclone.exe ncdu minio:/

该命令在命令行窗口执行的结果如下所示:

需要说明的是,按键盘右键查看,按左键返回,按 q 退出。

4.5.8 生成公共链接

生成公共链接的命令为:link,其格式为:

.\rclone.exe link <remote_storege_name>:<path>/<file>

如为 minio 中 的test桶下的 犬夜叉.jpg 图片生成链接,则最终执行命令为:

.\rclone.exe link minio:/test/犬夜叉.jpg

该命令在命令行窗口执行的结果如下所示:

接着将该链接在浏览器进行查看,对应效果如下所示:

4.6 移动

移动操作与复制操作类似,区别在于移动会将源目录下的内容移除,类似于剪切操作。为了进行演示,首先在 RustFS 中创建一个空的 test 桶:

4.6.1 移动目录下的文件

移动目录下文件的命令为: move ,其命令格式为:

.\rclone.exe move source:sourcePath dest:destPath -P

这里以从 minio 的 test 桶下的 data目录 向 RustFS 的 test 桶下的new_data 移动进行演示。则最终执行命令为:

.\rclone.exe move minio:/test/data rustfs:/test/new_data -P

该命令在命令行窗口执行结果如下所示:

此时先登录 RustFS 的 Web 控制台进行查看,发现已多了 new_data目录,且目录有 minio 的 data目录下的内容:

此时再看 minio 的 test 桶,发现 data 目录已消失:

4.6.2 移动指定文件或目录

移动指定或目录的命令为:moveto,其命令格式为:

.\rclone.exe moveto source:sourcePath dest:destPath -P

如将 minio 的 test 桶下的 test.txt 移动到 RustFS 的 test 桶下并重命名为 new_test.txt,则最终执行命令为:

.\rclone.exe moveto minio:/test/test.txt rustfs:/test/new_test.txt -P

该命令在命令行窗口执行的结果如下所示:

此时先在 RustFS 进行查看,发现 test桶下已出现了 new_test.txt:

接着再看 minio 的 test 桶,发现原本的test.txt已消失:

4.7 删除

为了演示删除,先将移动走的文件移回到 minio 中:

4.7.1 删除指定路径下的文件

删除指定路径下的文件命令为:delete,该命令格式为:

.\rclone.exe delete <remote_storege_name>:<path>

如删除 minio 的 test 桶下的 data 目录下的内容,则最终执行的命令为:

.\rclone.exe delete minio:/test/data

该命令在命令行窗口的执行结果如下所示:

接着在 minio 的 Web 控制台进行查看,发现 data 目录下的文件已被清空:

4.7.2 删除单个文件

删除单个文件的命令为:deletefile, 该命令的格式为:

.\rclone.exe deletefile <remote_storege_name>:<path>/<file>

如删除 RustFile的test桶下的test.txt,则最终执行命令为:

.\rclone.exe deletefile minio:/test/test.txt

该命令在命令行窗口执行的结果如下所示:

接着查看 minio 的 test 桶,发现 test.txt 已被删除:

4.7.3 其他

此外还有一些其他删除命令:

删除空目录:对应命令为:rmdir,其格式为:.\rclone.exe rmdir:递归删除空目录:对应命令为:rmdirs,其格式为:.\rclone.exe rmdirs:清空目录及目录下的文件:对应命令为:purge,其格式为:.\rclone.exe purge:

因为 minio 无法创建空目录,所以此处不进行演示,大家可自己进行探索。

五、挂载为本地磁盘

5.1 安装 WinFsp

RClone 的挂载依赖于操作系统的 FUSE,而 WinFsp 则是 Windows 的 FUSE。其全称为 Windows File System Proxy,是 Windows 文件系统代理工具。通过 WinFsp 能连接Windows和用户层软件,通过易用易理解的API(Application Program Interface)使得用户层能方便快速地实现文件系统。

winfsp的下载页面地址为:https://winfsp.dev/rel/

点击“Download WinFsp Installer”开始下载,下载后的安装程序如下所示:

接着双击进行安装即可。安装完成后会自动运行,此时通过 “Ctrl + Shift + ESC” 打开任务管理器后,选择“服务”后搜索“winfsp”还能看到该服务已成功安装:

5.2 挂载

为了演示,先将 minio 之前删除的文件重新复制:

挂载为本地磁盘的命令为:mount,该命令格式为:

.\rclone.exe mount <remote_storege_name>:<path> <盘符>: --vfs-cache-mode full

这里将 minio 的 test 桶挂载为X盘,则最终执行命令为:

.\rclone.exe mount minio:/test X: --vfs-cache-mode full

该命令在命令行执行结果如下所示:

此时在文件资源管理器进行查看,结果如下所示:

点进去也能查看相关内容:

当然,因为是在命令行窗口执行的挂载命令,因此当命令行窗口关闭后,挂载的磁盘也会消失,解决方法是将挂载命令注册为 Windows服务,这样便能随操作系统启动会自启。因本篇有限,故会在接下来的文章讲如何注册为 Windows服务进行管理。

picture loss