云存储系统概览文档
引言
随着云计算的飞速发展,云存储系统成为了企业和个人存储和共享数据的重要工具。然而,由于不同的云存储系统之间存在功能和特性上的差异,用户在使用时可能会感到困惑。本文旨在提供一个关于主流云存储系统特性的概览,帮助用户更好地了解和选择适合自己的云存储服务。
云存储系统特性概览
以下是当前市场上一些主流云存储系统的主要特性概述:
| 系统名称 | 哈希算法 | 修改时间 | 大小写不敏感 | 重复文件处理 | MIME 类型 | 元数据支持 |
|---|---|---|---|---|---|---|
| 1Fichier | Whirlpool | 不支持 | 否 | 支持 | 只读 | 不支持 |
| Akamai Netstorage | MD5, SHA256 | 读写支持 | 否 | 不支持 | 只读 | 不支持 |
| Amazon S3 (或 S3 兼容) | MD5 | 读写支持 | 否 | 不支持 | 读写支持 | 读写更新 |
| Backblaze B2 | SHA1 | 读写支持 | 否 | 不支持 | 读写支持 | 不支持 |
| Box | SHA1 | 读写支持 | 是 | 不支持 | 不支持 | 不支持 |
| Citrix ShareFile | MD5 | 读写支持 | 是 | 不支持 | 不支持 | 不支持 |
| Dropbox | DBHASH | 只读 | 是 | 不支持 | 不支持 | 不支持 |
| Enterprise File Fabric | - | 读写支持 | 是 | 不支持 | 读写支持 | 不支持 |
| FTP | - | 读写支持(注) | 否 | 不支持 | 不支持 | 不支持 |
| Google Cloud Storage | MD5 | 读写支持 | 否 | 不支持 | 读写支持 | 不支持 |
| Google Drive | MD5, SHA1, SHA256 | 删除/读写支持 | 否 | 支持 | 读写支持 | 删除/读写更新 |
| Google Photos | - | 不支持 | 否 | 支持 | 只读 | 不支持 |
| HDFS | - | 读写支持 | 否 | 不支持 | 不支持 | 不支持 |
| HiDrive | HiDrive | 读写支持 | 否 | 不支持 | 不支持 | 不支持 |
| HTTP | - | 只读 | 否 | 不支持 | 只读 | 不支持 |
| Internet Archive | MD5, SHA1, CRC32 | 读写支持(注) | 否 | 不支持 | 不支持 | 读写更新 |
| Jottacloud | MD5 | 读写支持 | 是 | 不支持 | 只读 | 读写 |
| Koofr | MD5 | 不支持 | 是 | 不支持 | 不支持 | 不支持 |
| Linkbox | - | 只读 | 否 | 不支持 | 不支持 | 不支持 |
| Mail.ru Cloud | Mailru | 读写支持 | 是 | 不支持 | 不支持 | 不支持 |
| Mega | - | 不支持 | 否 | 支持 | 不支持 | 不支持 |
| Memory | MD5 | 读写支持 | 否 | 不支持 | 不支持 | 不支持 |
| Microsoft Azure Blob Storage | MD5 | 读写支持 | 否 | 不支持 | 读写支持 | 不支持 |
| Microsoft Azure Files Storage | MD5 | 读写支持 | 是 | 不支持 | 读写支持 | 不支持 |
| Microsoft OneDrive | QuickXorHash | 删除/读写支持 | 是 | 不支持 | 只读 | 删除/读写更新 |
| OpenDrive | MD5 | 读写支持 | 是 | 部分支持 | 不支持 | 不支持 |
| OpenStack Swift | MD5 | 读写支持 | 否 | 不支持 | 读写支持 | 不支持 |
| OpenDrive | MD5 | 读写(R/W) | 是 | 部分支持 | 不支持 | 不支持 |
| OpenStack Swift | MD5 | 读写(R/W) | 否 | 不支持 | 读写(R/W) | 不支持 |
| Oracle Object Storage | MD5 | 读写(R/W) | 否 | 不支持 | 读写(R/W) | 不支持 |
| pCloud | MD5, SHA1 | 只读(R) | 否 | 不支持 | 写(W) | 不支持 |
| PikPak | MD5 | 只读(R) | 否 | 不支持 | 读(R) | 不支持 |
| premiumize.me | 不支持 | 不支持 | 是 | 不支持 | 读(R) | 不支持 |
| put.io | CRC-32 | 读写(R/W) | 否 | 支持 | 读(R) | 不支持 |
| Proton Drive | SHA1 | 读写(R/W) | 否 | 不支持 | 读(R) | 不支持 |
| QingStor | MD5 | 不支持 | 否 | 不支持 | 读写(R/W) | 不支持 |
| Quatrix by Maytech | 不支持 | 读写(R/W) | 否 | 不支持 | 不支持 | 不支持 |
| Seafile | 不支持 | 不支持 | 否 | 不支持 | 不支持 | 不支持 |
| SFTP | MD5, SHA1 | 读写/删除(DR/W) | 视情况而定 | 不支持 | 不支持 | 不支持 |
| Sia | 不支持 | 不支持 | 否 | 不支持 | 不支持 | 不支持 |
| SMB | 不支持 | 读写(R/W) | 是 | 不支持 | 不支持 | 不支持 |
| SugarSync | 不支持 | 不支持 | 否 | 不支持 | 不支持 | 不支持 |
| Storj | 不支持 | 只读(R) | 否 | 不支持 | 不支持 | 不支持 |
| Uloz.to | MD5, SHA256 | 不支持 | 否 | 支持 | 不支持 | 不支持 |
| Uptobox | 不支持 | 不支持 | 否 | 支持 | 不支持 | 不支持 |
| WebDAV | MD5, SHA1 | 只读(R) | 视情况而定 | 不支持 | 不支持 | 不支持 |
| Yandex Disk | MD5 | 读写(R/W) | 否 | 不支持 | 读(R) | 不支持 |
| Zoho WorkDrive | 不支持 | 不支持 | 否 | 不支持 | 不支持 | 不支持 |
| 本地文件系统 | 所有 | 读写/删除/更新(DRWU) | 视情况而定 | 不支持 | 不支持 | 读写/删除/更新(DRWU) |
- Dropbox 支持它自己的自定义哈希。 这是所有
4 MiB块SHA256的SHA256和。 - 如果相同登录有
shell访问权限,并且md5sum或sha1sum以及echo都在远程的PATH中,SFTP支持校验和。 - WebDAV 仅在与
Fastmail Files、``Owncloud和Nextcloud一起使用时支持哈希。 - WebDAV 仅在与
Fastmail Files、``Owncloud和Nextcloud一起使用时支持修改时间。 - QuickXorHash 是
Microsoft自己的哈希。 Mail.ru使用其自己修改的SHA1哈希pCloud在其 EU 区域仅支持SHA1(不支持MD5)Opendrive不支持使用其Web客户端界面或其他标准客户端创建重复文件,但已确定底层存储平台允许重复文件,并且可以使用rclone创建它们。这可能是个错误或不受支持的功能。QingStor不支持大于5 GiB的对象的SetModTime。FTP支持主要FTP服务器的修改时间,以及其他服务器(如果它们支持所需的协议扩展)。有关更多详细信息,请参阅这里。Internet Archive需要将选项wait_archive设置为非零值以支持完整的修改时间。HiDrive支持它自己的自定义哈希。 它将每个4 KiB块的SHA1和分层组合成一个单一的顶层和。Uloz.to在文件上传时提供服务器计算的MD5哈希。MD5和SHA256哈希由客户端计算并作为元数据字段存储。
哈希值(Hash)
云存储系统支持对象的各种哈希类型。 哈希值在传输数据时用作完整性检查, 并可以在同步操作中使用 --checksum 标志,以及在 check 命令中具体使用。
在云存储系统之间传输数据时,要使用验证哈希值,它们必须支持一种共同的哈希类型。
修改时间(ModTime)
几乎所有的云存储系统都会在对象上存储某种时间戳, 但其中一些并不适合用于同步。例如,一些后端只会写入表示上传时间的时间戳。 为了与同步相关,它应该能够存储源对象的修改时间。 如果情况并非如此,rclone 默认将仅检查文件大小, 但可以通过配置来检查文件哈希值(使用 --checksum 标志)。 理想情况下,还应该能够更改现有文件的时间戳,而无需重新上传它。
| 关键字 | 解释 |
|---|---|
- | 不支持修改时间——时间很可能是上传时间 |
R | 文件支持修改时间,但更改时需要重新上传 |
R/W | 文件完全支持读取和写入修改时间 |
DR | 文件和目录支持修改时间,但更改时需要重新上传 |
DR/W | 文件和目录完全支持读取和写入修改时间 |
在 ModTime 列中带有 - 的存储系统意味着对象上读取的修改时间并不是文件上传时的修改时间。它很可能是文件的上传时间,或者可能是其他时间(如 Google 照片中拍摄图片的时间)。
在 ModTime 列中带有 R(代表只读)的存储系统意味着它保留对象上的修改时间,并在上传对象时更新它们,但它不支持仅更改修改时间(SetModTime 操作)而不重新上传,甚至可能需要在重新上传之前先删除现有文件。在 rclone 中的一些操作,如 copy 和 sync 命令,会自动检查 SetModTime 支持,并在必要时重新上传以保持修改时间的同步。没有 SetModTime 支持的其他命令将无法工作,例如对现有文件执行 touch 命令会失败,以及在 mount 中仅更改文件的修改时间将被静默忽略。
在 ModTime 列中带有 R/W(代表读写)的存储系统意味着它们还支持仅修改时间的操作。
在 ModTime 列中带有 D 的存储系统意味着以下符号同样适用于目录和文件。
不区分大小写
如果云存储系统区分大小写,则可能有两个文件仅在大小写上有所不同,例如 file.txt 和 FILE.txt。如果云存储系统不区分大小写,则这是不可能的。
这可能会在同步不区分大小写的系统和区分大小写的系统之间导致问题。其症状是不管你运行多少次同步,它都不会完全完成。
本地文件系统和SFTP的文件名大小写敏感性可能取决于操作系统。
- Windows - 通常不区分大小写,但会保留大小写
- OSX - 通常不区分大小写,但有可能格式化为区分大小写
- Linux - 通常区分大小写,但存在不区分大小写的文件系统(例如FAT格式的USB闪存盘)。大多数情况下,这并不会引起问题,因为人们倾向于避免在区分大小写的系统上使用仅通过大小写区分的文件名。
重复文件
如果云存储系统允许重复文件,那么它可以有两个名称相同的对象。这在同步时会极大地混淆rclone,可以使用rclone dedupe命令来重命名或删除重复项。
受限制的文件名
一些云存储系统可能会对文件或目录名中可使用的字符有所限制。当rclone在文件上传过程中检测到这样的名称时,它会透明地将受限字符替换为外观相似的Unicode字符。为了处理不同后端的不同受限字符集,rclone使用了一个称为编码的功能。这个过程设计得尽可能避免模糊的文件名,并允许在不同云存储系统之间透明地移动文件。
rclone向用户显示或在日志输出中显示的文件名将仅包含一组替换字符的最小集合,以确保格式正确,而不一定是云存储上使用的实际名称。在下载文件或解析rclone参数时,此转换将被反转。例如,当将名为my file?.txt的文件上传到OneDrive时,它将在控制台上显示为my file?.txt,但会作为my file?.txt存储在OneDrive上(?被替换为外观相似的?字符,即所谓的“全角问号”)。
注意事项
文件名编码系统在大多数情况下都工作得很好,特别是在文件名使用英语或类似语言时。你可能甚至不会注意到它:它就是这么工作的。然而,在某些情况下,它可能会导致问题。例如,当文件名使用中文或日语时,这些语言总是使用Unicode全角标点符号变体。
在Windows上,字符:、*和?是受限字符的例子。如果这些字符在支持它们的远程系统上用作文件名,Rclone在下载到Windows时会透明地将它们转换为它们的Unicode全角变体*、?和:,并在上传时再次转换回原始字符。这样,即使在Windows上不允许使用特定字符的文件名仍然可以存储。
然而,如果你原本在Windows系统上的文件名中就包含这些相同的Unicode字符,它们也将被纳入相同的转换过程。例如,如果你在Windows文件系统中创建了一个名为Test:1.jpg的文件,其中:是Unicode全角冒号符号,并使用Rclone上传到Google Drive(支持常规的:,即半角冒号),Rclone会将全角:替换为半角:,并在Google Drive中存储为Test:1.jpg。由于Windows和Google Drive都允许使用名称Test:1.jpg,在这种情况下,Rclone保持原样可能会更好。
相反的情况也是如此;如果你在Google Drive中有一个名为Test:1.jpg的文件,例如从Linux系统(其中:在文件名中是有效的)上传的。然后,稍后使用Rclone将此文件复制到你的Windows计算机时,你会发现它在本地磁盘上被重命名为Test:1.jpg。由于原始的文件名在Windows中是不合法的,因此Rclone会重命名它以使复制成为可能。这很好。然而,这可能会导致一些混淆,特别是如果你在不同的操作系统之间频繁地传输文件时。
默认受限字符
下表显示了默认情况下被替换的字符。当在文件名中找到替换字符时,该字符将使用‛字符进行转义,以避免文件名产生歧义。(例如,一个名为.txt的文件将显示为‛.txt)
每个云存储后端可能会使用不同的字符集,这将在每个后端的文档中指定。
| 字符 | 值 | 替换字符 |
|---|---|---|
| NUL | 0x00 | |
| SOH | 0x01 | |
| STX | 0x02 | |
| ETX | 0x03 | |
| EOT | 0x04 | |
| ENQ | 0x05 | |
| ACK | 0x06 | |
| BEL | 0x07 | |
| BS | 0x08 | |
| HT | 0x09 | |
| LF | 0x0A | |
| VT | 0x0B | |
| FF | 0x0C | |
| CR | 0x0D | |
| SO | 0x0E | |
| SI | 0x0F | |
| DLE | 0x10 | |
| DC1 | 0x11 | |
| DC2 | 0x12 | |
| DC3 | 0x13 | |
| DC4 | 0x14 | |
| NAK | 0x15 | |
| SYN | 0x16 | |
| ETB | 0x17 | |
| CAN | 0x18 | |
| EM | 0x19 | |
| SUB | 0x1A | |
| ESC | 0x1B | |
| FS | 0x1C | |
| GS | 0x1D | |
| RS | 0x1E | |
| US | 0x1F | |
| / | 0x2F | / |
| DEL | 0x7F |
默认编码还会对这些文件名进行编码,因为它们在许多云存储系统中都存在问题。
| 文件名 | 替换字符 |
|---|---|
| . | . |
| .. | .. |
无效的UTF-8字节
一些后端仅支持格式良好的UTF-8字节序列作为文件或目录名。在这种情况下,所有无效的UTF-8字节都将被替换为字节值的引号表示形式,以允许将文件上传到这样的后端。例如,无效的字节0xFE将被编码为‛FE。无效的UTF-8字节的常见来源是本地文件系统,它们以不同于UTF-8或UTF-16的编码存储名称,如latin1。有关详细信息,请参阅本地文件名部分。
编码选项
大多数后端都有一个编码选项,指定为标志--backend-encoding,其中backend是后端的名称,或者作为配置参数encoding(你需要在rclone config中选择高级配置才能看到它)。这将有一个默认值,该值以这样的方式编码和解码字符,以保留尽可能多的字符(见上文)。
然而,在某些情况下这可能是不正确的,例如,如果你有一个包含Unicode全角字符*、?或:的Windows文件系统,并且你希望这些字符在远程端保持原样,而不是被转换为普通的(半角)*、?和:。--backend-encoding标志允许你更改这一点。你可以使用--backend-encoding None完全禁用编码,或者在配置文件中设置encoding = None。
编码接受一个逗号分隔的编码列表。你可以通过向此标志传递一个无效的值(例如--local-encoding "help")来查看所有可能的值列表。命令rclone help flags encoding将显示后端的默认值。
以下是对给定表格中各个字段的中文翻译:
| 编码方式 | 字符 | 编码为 |
|---|---|---|
| 星号 | * | * |
| 反引号 | ` | ` |
| 反斜杠 | \ | \ |
| 冒号 | : | : |
| 回车换行 | CR 0x0D, LF 0x0A | ␍, ␊ |
| 控制字符 | 所有控制字符 0x00-0x1F | ␀␁␂␃␄␅␆␇␈␉␊␋␌␍␎␏␐␑␒␓␔␕␖␗␘␙␚␛␜␝␞␟ |
| 删除字符 | DEL 0x7F | ␡ |
| 美元符号 | $ | $ |
| 点号 | . 或 .. 作为整个字符串 | ., .. |
| 双引号 | " | " |
| 井号 | # | # |
| 无效的UTF-8字符 | 无效的UTF-8字符(例如latin1) | ? |
| 左侧回车换行制表符垂直制表符 | 字符串左侧的CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B | ␍, ␊, ␉, ␋ |
| 左侧点号 | 字符串左侧的. | . |
| 左侧空格 | 字符串左侧的空格 | ␠ |
| 左侧波浪线 | 字符串左侧的~ | ~ |
| 小于大于号 | <, > | <, > |
| 无编码 | 没有字符被编码 | |
| 百分号 | % | % |
| 管道符 | ` | ` |
| 问号 | ? | ? |
| 右侧回车换行制表符垂直制表符 | 字符串右侧的CR 0x0D, LF 0x0A, HT 0x09, VT 0x0B | ␍, ␊, ␉, ␋ |
| 右侧点号 | 字符串右侧的. | . |
| 右侧空格 | 字符串右侧的空格 | ␠ |
| 分号 | ; | ; |
| 单引号 | ' | ' |
| 斜杠 | / | / |
| 方括号 | [, ] | [, ] |
编码示例:FTP
以具体的例子来说,FTP后端的默认编码是
--ftp-encoding "Slash,Del,Ctl,RightSpace,Dot"但是,假设FTP服务器运行在Windows上,并且文件名中不能有任何无效的Windows字符。你正在将Linux服务器备份到这个FTP服务器上,而这些Linux服务器上的文件名中可能包含这些字符。因此,你需要添加Windows中无效字符的集合,这些字符是
Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot到现有的编码中,组成:
Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot,Del,RightSpace这可以通过--ftp-encoding标志指定,或者在配置文件中使用encoding参数。
编码示例:Windows
再举一个例子,假设在Windows系统上有一个名为Test:1.jpg的文件,其中:是Unicode全角冒号符号。当使用rclone将这个文件复制到支持:的远程存储(如Google Drive)时,你会注意到文件被重命名为Test:1.jpg。
为了避免这种情况,你可以改变rclone在本地文件系统上应该转换的字符集,使用命令行参数--local-encoding。在Windows上,rclone的默认行为对应于
--local-encoding "Slash,LtGt,DoubleQuote,Colon,Question,Asterisk,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"如果你想在文件名中使用全角字符:、*和?,并且在上传到远程存储时不想让rclone改变它们,那么将默认值中的Colon,Question,Asterisk去掉:
--local-encoding "Slash,LtGt,DoubleQuote,Pipe,BackSlash,Ctl,RightSpace,RightPeriod,InvalidUtf8,Dot"另外,你也可以通过--local-encoding None来禁用任何字符的转换。
除了使用命令行参数--local-encoding之外,你还可以将其设置为环境变量RCLONE_LOCAL_ENCODING,或者在配置文件中为类型为local的远程设置一个配置,并在那里设置encoding选项。
这样做的风险是,如果你在云存储中有一个文件名包含常规的(半角):、*和?,并且你试图将其下载到你的Windows文件系统中,这将会失败。这些字符在Windows文件名中是不合法的,而你已经告诉rclone不要通过将它们转换为有效的全角变体来解决这个问题。
MIME 类型
MIME 类型(也称为媒体类型)使用简单的文本分类来分类文档类型,例如 text/html 或 application/pdf。一些云存储系统支持读取(R)对象的 MIME 类型,一些支持写入(W)对象的 MIME 类型。
如果你直接从存储系统为 HTTP 服务文件,MIME 类型可能是重要的。如果你从一个支持读取(R)的远程复制到另一个支持写入(W)的远程,rclone 将保留 MIME 类型。否则,MIME 类型将根据文件扩展名来猜测,或者远程存储本身可能会分配 MIME 类型。
元数据
后端可能支持或不支持读取或写入元数据。它们可能支持读取和写入系统元数据(特定于该后端的元数据)和/或用户元数据(通用目的的元数据)。
元数据支持的级别如下:
| 关键字 | 解释 |
|---|---|
R | 仅支持读取文件的系统元数据 |
RW | 支持读取和写入文件的系统元数据 |
RWU | 支持读取和写入文件的系统元数据以及读取和写入用户元数据 |
DR | 支持读取文件和目录的系统元数据 |
DRW | 支持读取和写入文件和目录的系统元数据 |
DRWU | 支持读取和写入文件和目录的系统元数据以及读取和写入用户元数据 |
更多信息请查看元数据文档。
可选功能
所有rclone的远程存储都支持一组基础命令。其他功能则取决于特定后端的能力。
| 名称 | 清空 | 复制 | 移动 | 目录移动 | 清理 | 列表R | 流式上传 | 多线程上传 | 链接分享 | 关于 | 清空目录 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1Fichier | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 |
| Akamai Netstorage | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 |
| Amazon S3(或S3兼容) | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Backblaze B2 | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 |
| Box | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| Citrix ShareFile | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| Dropbox | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| Enterprise File Fabric | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| FTP | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 |
| Google Cloud Storage | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| Google Drive | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| Google Photos | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| HDFS | 支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
| HiDrive | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 |
| HTTP | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| ImageKit | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| Internet Archive | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 |
| Jottacloud | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| Koofr | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| Mail.ru Cloud | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| Mega | 支持 | 不支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| Memory | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| Microsoft Azure Blob Storage | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 |
| Microsoft Azure Files Storage | 不支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
| Microsoft OneDrive | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 ⁵ | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| OpenDrive | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| OpenStack Swift | 支持 ¹ | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 |
| Oracle Object Storage | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 |
| pCloud | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| PikPak | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| premiumize.me | 支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 | 支持 |
| put.io | 支持 | 不支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
| Proton Drive | 支持 | 不支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 |
| QingStor | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| Quatrix by Maytech | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 |
| Seafile | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| SFTP | 不支持 | 支持 ⁴ | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 |
| Sia | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 不支持 | 不支持 | 不支持 | 支持 |
| SMB | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 |
| SugarSync | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 不支持 | 支持 | 不支持 | 支持 |
| Storj | 支持 ² | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 | 不支持 |
| Uloz.to | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 |
| Uptobox | 不支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
| WebDAV | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 ³ | 不支持 | 不支持 | 支持 | 支持 |
| Yandex Disk | 支持 | 支持 | 支持 | 支持 | 支持 | 不支持 | 支持 | 不支持 | 支持 | 支持 | 支持 |
| Zoho WorkDrive | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 支持 | 支持 |
| 本地文件系统 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 | 支持 | 不支持 | 支持 | 支持 |
删除
Swift 实现此功能是为了删除目录标记,但它实际上并没有比逐个删除文件更快的方法。Storj 仅对整个存储桶实现了高效的删除操作。如果要在存储桶内清除目录,文件将被逐个删除。
流式上传
Nextcloud 不支持流式上传。
使用 --sftp-copy-is-hardlink 标志启用
使用 --onedrive-delta 标志启用
清空
这比仅删除目录中的所有文件更快地删除一个目录。
复制
在将对象从同一远程复制到另一位置时使用。这被称为服务器端复制,因此您可以复制文件而无需先下载再上传。如果您使用 rclone copy 或 rclone move 并且远程不直接支持 Move 操作时,会用到此功能。如果服务器不直接支持 Copy 操作,则在复制过程中会先下载文件然后重新上传。
移动
在同一远程上移动/重命名对象时使用。这被称为服务器端文件移动。在 rclone move 中使用,如果服务器不支持 DirMove。
如果服务器不支持 Move 操作,rclone 将通过 Copy 然后删除的方式模拟它。如果服务器不支持 Copy 操作,rclone 将下载文件并重新上传。
目录移动
这用于实现 rclone move 来移动目录(如果可能)。如果不支持,它将对每个文件使用 Move(这将回退到 Copy 然后下载和上传 - 参见 Move 部分)。
清理
这用于通过 rclone cleanup 清空远程的垃圾文件。如果服务器无法执行 CleanUp 操作,则 rclone cleanup 将返回一个错误。
注意:虽然 Box 实现了这个功能,但它必须逐个删除每个文件,因此通过 WebUI 清空垃圾的速度会比这更快。
ListR(递归列表)
该远程支持递归列表,可以快速列出目录下的所有内容。这使得--fast-list标志能够工作。关于更多细节,请参阅 lrclone 文档。
StreamUpload(流式上传)
一些远程允许在不知道文件大小的情况下上传文件。这使得某些操作可以在不先将文件缓存到本地磁盘的情况下工作,例如 rclone rcat。
MultithreadUpload(多线程上传)
一些远程允许将传输到远程的数据作为块并行发送。如果支持这一点,rclone将使用多线程复制来更快地传输文件。
LinkSharing(链接共享)
为文件或文件夹设置必要的权限,并打印一个链接,允许其他人即使在没有特定云提供商帐户的情况下也能访问它们。
About(关于)
Rclone 的 about 命令打印远程的配额信息。典型的输出包括已使用的字节、空闲字节、配额和在回收站中的字节。
如果远程不具备about功能,rclone about remote:会返回一个错误。
不具备about功能的后端无法为rclone挂载确定空闲空间,也不能在rclone联合远程中使用mfs(最多空闲空间)策略。
请参阅 rclone about 命令