Symlink Google云端硬盘


13

我想将Mac上的文件夹同步到Google云端硬盘,而不必将文件夹拖到Google云端硬盘文件夹并在Mac上保留我的文件夹结构。

我假设您必须具有一个符号链接(symlink)才能起作用。

所以我尝试在终端:

cd /path/to/google/drive
ln -s /path/to/folder/

该文件夹出现在我的Google云端硬盘文件夹中,但不想同步。

所以我尝试了

ln -s “/path/to/folder”  “/path/to/google/drive/”

仍然没有用。所以我提到这个 关于这个话题HowToGeek文章,它说,你必须通过移动文件夹复制到谷歌云端硬盘文件夹和做一个符号像原来的父文件夹。

我希望原件不在 Google云端硬盘文件夹中。有没有免费的替代符号链接?我看过jdrivesync,但安装失败(这将是另一个讨论中的另一个问题)。

谢谢你的帮助!


有没有其他方法可以用符号链接来同步Google云端硬盘文件夹之外的文件夹?我将更新问题。@techraf
WhileToTo

它从未说过它不可能。除了使用符号链接以外,还有其他方法吗?@techraf
WhileToTo

我从来没有要求过另一个symlink命令或任何显然不起作用的命令。是否有可以实现我想要做的应用程序或其他命令?我所说的毫无疑问,我们在这里互相帮助。
虽然太

Answers:


15

您可以使用目录硬链接,但只能在HFS +文件系统上使用。您将需要GNU ln来使用该-d选项。可以使用Homebrew:安装brew install coreutils,然后运行:

sudo gln -d "/path/to/original" "/path/to/drive/folder"

系统将要求您输入密码。此命令创建到文件/文件夹本身的硬链接,而不是符号链接如何链接到文件/目录的指针。由于链接文件夹与原始文件夹基本相同,因此Google云端硬盘会正确同步。

要取消链接的链接,请使用unlink "/path/to/drive/folder"

警告: APFS(Apple文件系统)不支持硬链接。如果您打算安装macOS High Sierra或更高版本,并想继续使用目录硬链接,则需要维护HFS +文件系统。默认情况下,具有SSD(例如,没有HDD或Fusion Drive)的Mac上的macOS High Sierra安装程序会自动将HFS +文件系统转换为APFS。要在升级期间跳过转换,您将需要运行macOS安装程序,如下所示:

/Applications/Install\ macOS\ High\ Sierra.app/*/R*/startosinstall --converttoapfs NO

如果您避免使用最后一个选项/.HFS+ Private Directory Data,则升级后最终将陷入一堆硬链接目录。


1
谢谢回答。我试过了,它说这是一个目录,我假设“ ln”本身仅适用于实际文件?
虽然太

1
@Mekul Oops -d用于目录,请参见编辑。
grg

1
你确定吗?刚刚输入Terminal并说这是一个非法选项,甚至输入“ man ln”也没有“ -d”这样的东西。无论如何,谢谢您的帮助!
虽然太

1
@Mekul很好,是我的错!我会通过内存在手机上完成所有这些操作,下次我将等到计算机上!我相信它是'coreutils'软件包的一部分,被称为'gln'来代替现有的'ln'。
grg

1
@Mekul我的意思是安装coreutils,然后命令变成'sudo gln -d…`,仅此安装。
grg

0

除非您要重组磁盘,否则Google云端硬盘似乎没有用。

Sugarsync在设计时就考虑了Windows。它确实很漂亮,它使您可以同步现有文件夹,无论它们在哪里。我用了一段时间。它有一个Mac客户端,但这就是他们所考虑的全部。它无法正确同步包。捆绑软件是Mac用于应用程序和数据文件的UNIX结构。所以我摆脱了Sugarsync。

微软的OneDrive不做符号链接,我不认为他们甚至不知道捆绑包是什么。

另一方面,Dropbox支持符号链接并正确处理包。


0

传统上,硬链接仅适用于文件,不适用于目录。

尽管HFS +支持目录硬链接,但它是Time Machine保留的内部功能。使用它需要您自担风险。

您可能会看到SugarSync,它声称

备份并访问您的文件。使用现有的文件夹结构。

使用目录硬链接的个人经验是

  • 我缩小然后放大Time Machine磁盘,该磁盘大量使用目录硬链接
  • 然后备份数据搞砸了
  • 我必须格式化分区,丢失历史记录

-1

在macOS Sierra中以及先前发布的带有新coreutils解决方案的设备无法按预期工作。

1)您将需要gnu coreutils。您可以通过自制软件安装它。

brew install coreutils

2)(可选),您可以键入gln --help以获得该命令的使用手册。这将输出4种方式:

  1. 用法:gnn [OPTION] ... [-T] TARGET LINK_NAME(第一种形式)
  2. 或:gln [OPTION] ... TARGET(第二种形式)
  3. 或:gln [OPTION] ... TARGET ...目录(第3种形式)
  4. 或:gln [选项] ... -t目录目标...(第四形式)

    在第一种形式中,创建一个名为LINK_NAME的TARGET链接。

    在第二种形式中,在当前目录中创建指向TARGET的链接。

    在第3和第4表格中,创建指向DIRECTORY中每个TARGET的链接。

3)通过命令行转到Google“驱动器文件夹”(GD)或任何GD子文件夹:

3.a)您可以输入终端类型cd(“ d”后的空格)并将文件夹/目录拖到终端窗口中

3.b)或仅输入目的地,例如cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder 'yourAccountName'是操作系统中帐户的名称,而'sub / subSubFolder'是GD中的文件夹结构。请注意,您需要使用反斜杠('\')在文件路径和名称中“转义”特殊符号,就像我在文件夹“ Google Drive”的名称中使用空格一样,因此现在看起来是“ Google \ Drive”。

4)并且,正如grgarside在他的帖子中阐明的那样,您需要使用sudo-d键来执行链接。因此,只需键入:

sudo gln -d '/Users/yourAccountName/path/to/original/folder/with/your/stuff'

-2

在不更改文件结构的情况下将大量文件/文件夹放入Google云端硬盘的两种方法:

  1. 安装了Mac的Google云端硬盘后:复制相关文件夹并将其副本拖到Google云端硬盘文件夹中。

要么

  1. 将Google云端硬盘与Google Chrome结合使用:将相关文件夹拖到Chrome中的Google云端硬盘窗口中;他们将上传,并且不会破坏您的文件结构。

无论使用哪种方法,都可以将文件夹放入云端硬盘,而无需更改文件结构。

我知道这些都不是您所要求的,但是它们都应该做。下面还有其他评论。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.