什么是Rclone Rclone 是一个用 Go 编写的开源命令行程序,用于管理或迁移云存储上的文件。它支持40+ 云服务包括所有主流提供商,如 Google Drive、DropBox、Mega、pcloud、S3 仅举几例。 Rclone 使用户能够直接从他们的终端管理云界面。它获得了如此多的赞赏,以至于用户称其为“云存储的瑞士军刀”,并经常将其称为“与魔法无异的技术”。 📥 安装 安装过

linux小助理  ·  2022-08-19 17:43:57 发布
♲什么是Rclone
Rclone 是一个用 Go 编写的开源命令行程序,用于管理或迁移云存储上的文件。它支持40+ 云服务包括所有主流提供商,如 Google Drive、DropBox、Mega、pcloud、S3 仅举几例。 Rclone 使用户能够直接从他们的终端管理云界面。它获得了如此多的赞赏,以至于用户称其为“云存储的瑞士军刀”,并经常将其称为“与魔法无异的技术”。

📥 安装
安装过程实际上非常简单。对于 Windows 有一个可执行文件,您可以简单地将下载作为 zip 存档并解压缩到您选择的位置,然后在同一目录中打开 Cmd 或选择将目录 PATH 添加到环境。要在 Linux/macOS/BSD 系统上安装 rclone,请运行:

$ curl https://rclone.org/install.sh | sudo bash
如果您在 macOS 上并且安装了Homebrew,请运行此命令,然后按 Enter 键安装 rclone。

$ brew install rclone
现在我们已经完成了安装,让我们熟悉一些 Rclone 的基本术语。

📜 术语
Remote :远程只是您使用 rclone 安装在系统上的云服务,例如,如果您使用 rclone 配置了对 Dropbox 帐户的访问,那么 Dropbox 就是您的远程。如果您安装的是 Google Drive,那么 Google Drive 就是您的遥控器。另请注意,我们可以同时配置多个遥控器。例如,同时配置 4 个 Mega、3 个 Google Drive 和 2 个 pCloud 帐户是完全正常的。

Commands : 我们使用带有 rclone 的命令。在云存储上下文中有意义的命令可以与 rclone 一起使用。例如,copy、sync、move、delete等可以与 rclone 一起使用来操作云存储中的文件。通常每个 rclone 命令都接受两个参数,源和目标,现在让我们了解它们的含义。

假设我们将 Google Drive 和 Dropbox 帐户安装为两个不同的遥控器,并且我们有兴趣将文件从 Google Drive 复制到 Dropbox。在这种情况下,Google Drive 将被称为 Source,它被接受为 rclone 命令的第一个参数,而 Dropbox 将被称为 Destination。

现在我们都精通基本术语,让我们深入了解配置 rclone 遥控器。

⚙️ 配置遥控器
要开始配置,在 Windows 上打开 Cmd 在您提取 rclone 的.exe的同一目录中,然后键入以下命令。在基于 *nix 的操作系统中打开您的终端并运行:

$ rclone config
因为我们还没有配置遥控器,所以我们会得到一个响应“没有找到遥控器”和一个要求选择一个选项的提示:

image.png

按n创建一个新的遥控器。下一个提示是选择一个名称。为您的遥控器设置所需的名称,然后按 Enter。此名称稍后将用于标识此遥控器。接下来,我们将看到所有可用的云存储 rclone 支持的列表,我们需要选择所需的服务。

image.png

由于我想配置 Google Drive,所以我将输入18并回车。现在提示将首先询问Client Id,然后是Client_secret。它们通常是高级用法(如处理 API)所必需的,这些字段不是强制性的,因此现在只需按 Enter 即可跳过它们。

image.png

现在它要求范围,这基本上与访问级别有关。我想拥有对驱动器中所有文件的完全访问权限,因此我将选择选项 1。本质上,完全访问权限将使我能够创建、读取、更新、删除驱动器中的任何文件。

image.png

接下来提示将要求输入service_account_file,它实际上允许我们使用 Google Drive 更改身份验证方法,只需将其留空并按 Enter。

image.png

之后会询问我们是否要使用高级配置,当然不是,不是我们什么时候开始,所以点击n否(默认)或回车。

image.png

现在将询问我们是否要使用auto config。如果您在 Mac、Windows 或其他带有 GUI 的系统中配置 rclone,您可以对此说“是”。如果您在无头系统中配置 rclone(例如通过 SSH 连接到没有 GUI 的 Linux 系统),您需要对此说“不”。显然我正在开发基于 GUI 的操作系统,所以我会选择“是”。

image.png

这将使用 Google Drive 授权页面启动您的默认浏览器。授权 rclone 访问您的 Google Drive。

现在回到终端,它将通过在显示屏上打印Got code作为成功消息来显示授权状态。接下来它会询问我们是否要将远程配置为共享驱动器。我们将选择“否”,因为我们想将我们的主存储安装为远程,并假设您使用的是 Google 的免费驱动器存储层(15 GB)。共享驱动器仅适用于 Workspace 帐户,除非您是其中的成员。

image.png

最后,它会提示我们是否要将其保存为远程配置或进行任何编辑(尽管我们可以随时进行)。输入y,回车,完成。它将在屏幕上打印配置的遥控器列表,并显示我们开始使用的界面。

image.png

要退出 rclone 界面,请按“q”并按 Enter。现在我们成功安装了我们的第一个遥控器,我们准备好与 Google Drive 中的文件进行交互。

🌲 列出遥控器
要列出所有已配置的遥控器,请运行此命令

$ rclone listremotes
随着我们不断添加更多遥控器,列表将相应更新。

📝 显示内容
要显示我的遥控器(Google Drive)的内容,我需要将遥控器的名称作为参数传递给 rclone 命令以及相关选项。

lsd :此选项用于列出目录。

ls :此选项用于递归列出指定路径中的所有文件。

所以命令的语法是:

$ rclone lsd remote_name:/

OR

$ rclone ls remote_name:/
这是列出我的 Google Drive 目录的实际命令。

image.png

*unix 用户可能已经熟悉另一个交互式命令。它被称为 tree ,它以树状结构递归地列出指定路径内的所有文件和目录。

$ rclone tree gdrive:/
image.png

💾 计算尺寸
要获取远程可用或已用磁盘空间的信息,我们使用带有 rclone 命令的 about 选项。

image.png

这为我们提供了有关远程的一般磁盘大小信息。如果我们有兴趣了解特定文件或目录的大小怎么办!那么在这种情况下,我们将 size 选项与 rclone 命令一起使用,如下所示:

image.png

如您所见,我在远程目录路径周围使用了双引号,您已经明白了。这是因为目录名称中包含空格。

📁 复制
从远程复制到本地
为了将内容从远程复制到本地目录,我们使用以下命令。-P标志,显示操作的下载进度。

$ rclone "remote:/path/to/file/" ~/Downlods/ -P
假设我想将文件Atomic-Habits-Hindi-Audiobook.mp3从远程复制到本地下载目录,这是我如何实现的

image.png

从本地复制到远程
之前我们将文件从远程复制到本地目录,这次我们将做相反的事情。语法保持不变,只是我们像这样切换源和目标:

$ rclone ~/Downloads/file "remote:/directory/" -P
假设我想将salam.pdf从我的本地 Downloads 文件夹复制到远程。这是我如何实现的

image.png

📂 搬家
在远程和本地之间移动文件与复制相同,只是我们使用 move 选项而不是 copy。

$ rclone move "remote:/dir/" ~/Downloads/ -P --dry-run
上面的命令会将 dir 文件夹从远程移动到本地 Downloads 文件夹。如果您想在不实际执行命令的情况下测试命令,建议包含最后的--dry-run标志。在操作之前检查任何错误都很方便。您也可以将--dry-run标志与 copy 和 move 命令一起使用。

🗳 同步
此命令将源同步到目标,仅修改进程中的目标。目标已更新以匹配源,包括在必要时删除文件。这是命令语法

$ rclone sync ~/Documents/ "remote:/docs_backup/" -P
🗑 删除并清除
如果您想在不删除文件夹本身的情况下删除文件夹的内容,那么应该想到 delete 命令。这是命令语法

$ rclone delete remote:/tmp_files/ -P
上述命令将删除 tmp_files 目录的所有内容,但文件夹本身将被保留。但是,如果您有兴趣删除内容以及目录本身,那么 purge 命令适合您。

$ rclone purge remote:/trash/ -P
上面的命令会删除垃圾目录及其内容。

🗃 rclone 配置
您已经熟悉rclone config命令。这实际上是我们开始的方式。这里的重点是所有遥控器都存储在配置文件中。如果您在 shell 中运行rclone config file,此配置文件的路径将显示在屏幕上。在我的例子中,它打印/Users/cosmicqbit/.config/rclone/rclone.conf。这个文件实际上非常重要。它存储有关配置的遥控器的所有关键信息。该文件可以在新系统上用于在遥控器上进行操作,而无需实际执行任何配置过程。因此,请始终确保将此文件放在背心附近。这让我们走到了尽头。

💌 结论
我们涵盖了 rclone 的所有基础知识,我希望本指南可以帮助您开始使用 rclone。这只是皮毛,但这些命令是我们大部分时间所依赖的。除了官方文档总是有你的支持。不要认为您必须这样做,但如果您愿意,请点赞并与您的朋友分享博客文章。感谢您花时间阅读本文😊

By alex

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注