Rclone: 支持S3云存储界命令行工具
rclone 是一款管理云存储文件的命令行程序,它支持几十种云存储(如 Google Drive, OneDrive, Amazon S3, WebDAV, 阿里云盘等)
介绍
- Rclone 是一个用于管理云存储上的文件的命令行程序,它是云供应商 Web 存储接口的功能丰富的替代方案,超过 70 种云存储产品支持 rclone,包括 S3 对象存储、企业和消费者文件存储服务以及标准传输协议
- Rclone 具有与 unix 命令 rsync、cp、mv、mount、ls、ncdu、tree、rm 和 cat 等价的强大云功能
以下是在 Ubuntu 22.04 上安装、配置和使用 Rclone 的完整指南:
安装 Rclone
虽然可以通过 Ubuntu 默认的 APT 仓库安装 (sudo apt install rclone),但由于各个云盘的 API 更新频繁,强烈推荐使用官方脚本安装最新版本。
打开终端,运行以下命令:
sudo -v ; curl https://rclone.org/install.sh | sudo bash这会自动下载并安装适用于系统架构的最新 Rclone 版本。
配置云存储 (Remote)
安装完成后,需要通过配置向导将 Rclone 连接到云盘。
- 运行配置命令:
bashrclone config - 会看到一个菜单,输入
n(New remote) 创建一个新的连接。 - name: 给云盘起个名字(例如
gdrive或onedrive)。 - Storage: 终端会列出几十种支持的网盘,找到需要的网盘前面的数字编号并输入。
- client_id / client_secret: 通常直接按回车留空(使用 rclone 默认配置即可)。
- Edit advanced config?: 输入
n(不需要编辑高级选项)。 - Use auto config?:
- 如果在带有图形界面的 Ubuntu 电脑上操作,输入
y,它会自动弹出浏览器让你登录网盘并授权。 - 如果在没有图形界面的云服务器 (SSH) 上操作,输入
n。系统会提示在本地电脑上下载 Rclone,运行一行rclone authorizexxx`` 命令获取授权 Token,然后将 Token 粘贴回服务器终端。
- 如果在带有图形界面的 Ubuntu 电脑上操作,输入
- 最后确认无误后,输入
y保存配置,然后输入q退出。
常用基本命令
配置好之后(假设你起的名字叫 mydrive),就可以开始管理文件了。注意:网盘名称后面必须加上冒号 :。
- 列出根目录下的文件夹:
bashrclone lsd mydrive: - 列出目录下的所有文件:
bashrclone ls mydrive:文件夹名 - 复制文件/文件夹到网盘:
加上
bashrclone copy /本地/路径/文件 mydrive:网盘/目标文件夹-P可以显示进度条:rclone copy -P /local/path mydrive:backup - 同步目录(将本地目录完全同步到网盘):
⚠️警告:
bashrclone sync -P /本地/路径 mydrive:网盘/目标文件夹 rclone sync /local/path remote:backup --exclude "*.log"sync会让目标目录和源目录保持一致,目标目录中多余的文件会被删除。 - 从网盘下载文件到本地:
bashrclone copy -P mydrive:网盘/路径 /本地/目标路径
将网盘挂载为本地磁盘(进阶/极力推荐)
Rclone 可以将云盘直接挂载到 Ubuntu 的文件系统中,像访问本地硬盘一样访问云盘里的文件。
-
安装 fuse (Ubuntu 22.04 默认使用 fuse3):
bashsudo apt update sudo apt install fuse3 -
创建一个挂载点(例如
/mnt/mycloud): bashsudo mkdir -p /mnt/mycloud sudo chown $USER:$USER /mnt/mycloud -
执行挂载命令:
bashrclone mount mydrive:/ /mnt/mycloud --daemon --vfs-cache-mode writes参数解释:
--daemon: 在后台运行挂载,关闭终端也不会断开。--vfs-cache-mode writes: 开启 VFS 缓存。这是推荐设置,能大幅提升文件写入和修改的兼容性。
-
检查是否挂载成功:
bashdf -h应该能看到类似
mydrive:的条目。现在可以用普通的文件管理器或cd /mnt/mycloud进去看云盘文件了。 -
卸载网盘:
bashfusermount -qzu /mnt/mycloud
总结
- 配置:
rclone config - 传输:
rclone copy -P 本地 远程: - 挂载:
rclone mount 远程: /挂载点 --daemon --vfs-cache-mode writes