Symlink Google Drive


13

Ich möchte Ordner auf meinem Mac mit Google Drive synchronisieren, ohne die Ordner in den Google Drive-Ordner ziehen zu müssen und meine Ordnerstruktur auf meinem Mac beizubehalten.

Ich nahm an, dass Sie einen symbolischen Link (Symlink) haben müssten, damit dies funktioniert.

Also habe ich es im Terminal versucht:

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

Der Ordner wurde in meinem Google Drive-Ordner angezeigt, wollte jedoch nicht synchronisiert werden.

Also habe ich es dann versucht

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

Hat immer noch nicht funktioniert. Daher habe ich auf diesen HowToGeek-Artikel zu diesem Thema verwiesen. Dort heißt es, dass Sie den ursprünglichen Ordner in den Google Drive-Ordner verschieben und ein Symbol wie den ursprünglichen übergeordneten Ordner erstellen müssen .

Ich möchte das Original nicht im Google Drive-Ordner haben. Gibt es eine kostenlose Alternative zum Symlink? Ich habe mir jdrivesync angesehen, konnte es aber nicht installieren (das wird ein weiteres Problem in einer anderen Diskussion sein).

Danke für Ihre Hilfe!


Gibt es eine alternative Möglichkeit zu einem Symlink, um Ordner außerhalb meines Google Drive-Ordners zu synchronisieren? Ich werde die Frage aktualisieren. @ Techraf
ThoughToo

Es sagt nie, dass es unmöglich ist. Könnte es einen anderen Weg als die Verwendung von Symlinks geben oder könnte es eine App geben? @ Techraf
ThoughToo

Ich habe nie nach einem anderen Symlink-Befehl gefragt oder was auch immer, da es offensichtlich nicht funktionieren würde. Gibt es eine App oder einen anderen Befehl , mit dem ich das erreichen kann, was ich tun möchte? Es macht keinen Sinn darüber zu streiten, was ich gesagt habe, wir helfen uns hier draußen.
Obwohl am

Antworten:


15

Sie können einen Verzeichnis-Hardlink verwenden, jedoch nur im HFS + -Dateisystem. Sie benötigen GNU ln, um die -dOption zu verwenden. Dies kann mit Homebrew : installiert werden. brew install coreutilsFühren Sie dann Folgendes aus:

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

Sie werden nach Ihrem Passwort gefragt. Dieser Befehl erstellt einen festen Link zur Datei / zum Ordner selbst und nicht, wie ein Symlink zu einem Zeiger auf eine Datei / ein Verzeichnis verweist. Da der Linkordner im Wesentlichen mit dem Originalordner identisch ist, wird er von Google Drive korrekt synchronisiert.

Verwenden Sie zum Aufheben der Verknüpfung eines festen Links unlink "/path/to/drive/folder".

WARNUNG: APFS (Apple File System) unterstützt keine festen Links. Wenn Sie die Installation von macOS High Sierra oder höher planen und weiterhin Verzeichnis-Hardlinks verwenden möchten, müssen Sie Ihr HFS + -Dateisystem warten. Standardmäßig konvertiert macOS High Sierra intaller auf einem Mac mit SSD (z. B. ohne Festplatte oder Fusion Drive) das HFS + -Dateisystem automatisch in APFS. Um die Konvertierung während des Upgrades zu überspringen, müssen Sie das macOS-Installationsprogramm wie folgt ausführen:

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

Wenn Sie die letzte Option vermeiden, werden Sie /.HFS+ Private Directory Datanach dem Upgrade ein Durcheinander von fest verknüpften Verzeichnissen haben .


1
Danke für die Antwort. Ich habe das versucht und es hieß, es sei ein Verzeichnis, von dem ich annehme, dass "ln" für sich genommen nur für tatsächliche Dateien funktioniert.
Obwohl

1
@Mekul Ups -dist für Verzeichnisse, siehe Bearbeiten.
grg

1
Bist du sicher? Ich habe gerade in Terminal getippt und gesagt, es sei eine illegale Option, sogar in "man ln" getippt, und es gab kein "-d". Trotzdem danke für die Hilfe!
Obwohl

1
@Mekul Es ist in Ordnung, es ist meine Schuld! Ich mache das alles auf meinem Handy aus dem Speicher, das nächste Mal warte ich einfach, bis ich an meinem Computer bin! Ich glaube, es ist Teil des 'coreutils'-Pakets und heißt' gln ', um das bestehende' ln 'nicht zu ersetzen.
grg

1
@Mekul Ich meinte install coreutils und dann wird der Befehl 'sudo gln -d ...', nichts mehr zu installieren.
grg

0

Google Drive scheint nutzlos zu sein, es sei denn, Sie möchten Ihre Festplatte neu organisieren.

Sugarsync wurde unter Berücksichtigung von Windows entwickelt. Es ist sehr schick und ermöglicht es Ihnen, vorhandene Ordner zu synchronisieren, wo immer sie sich befinden. Ich habe es eine Weile benutzt. Es hat einen Mac-Client, aber das ist der ganze Gedanke, den sie hineingesteckt haben. Bundles können nicht korrekt synchronisiert werden. Bundles sind eine UNIX-Struktur, die der Mac für Anwendungen und Datendateien verwendet. Also habe ich Sugarsync losgeworden.

Microsoft OneDrive macht keine Symlinks und ich glaube nicht, dass sie überhaupt wissen, was Bundles sind.

Dropbox hingegen erkennt Symlinks und behandelt Bundles korrekt.


0

Hardlink funktioniert traditionell nur für Dateien, nicht für Verzeichnisse.

Obwohl HFS + Verzeichnis-Hardlink unterstützt, handelt es sich eher um eine interne Funktion, die Time Machine vorbehalten ist . Verwenden Sie es auf eigenes Risiko.

Sie könnten sich SugarSync ansehen , das behauptet

Sichern Sie und greifen Sie auf Ihre Dateien zu. Verwenden Sie Ihre vorhandene Ordnerstruktur.

Eine persönliche Erfahrung mit Verzeichnis-Hardlink ist das

  • Ich verkleinere und vergrößere die Time Machine-Festplatte, die häufig Verzeichnis-Hardlink verwendet
  • Dann werden die Sicherungsdaten durcheinander gebracht
  • Ich muss die Partition formatieren und verliere den Verlauf

-1

In macOS Sierra und mit neuen Coreutils-Lösungen in früheren Beiträgen funktionieren sie nicht wie erwartet.

1) Du wirst Gnu Coreutils brauchen. Sie können es über Homebrew installieren.

brew install coreutils

2) (optional) Sie können gln --helpdiesen Befehl eingeben , um ein Handbuch zur Verwendung zu erhalten. Dies gibt 4 Möglichkeiten aus:

  1. Verwendung: gln [OPTION] ... [-T] TARGET LINK_NAME (1. Form)
  2. oder: gln [OPTION] ... ZIEL (2. Form)
  3. oder: gln [OPTION] ... ZIEL ... VERZEICHNIS (3. Form)
  4. oder: gln [OPTION] ... -t VERZEICHNISZIEL ... (4. Form)

    Erstellen Sie im ersten Formular einen Link zu TARGET mit dem Namen LINK_NAME.

    Erstellen Sie im zweiten Formular einen Link zu TARGET im aktuellen Verzeichnis.

    Erstellen Sie im 3. und 4. Formular Links zu jedem ZIEL im VERZEICHNIS.

3) Gehen Sie über die Befehlszeile zu Google 'Laufwerksordner' (GD) oder einem beliebigen GD-Unterordner:

3.a) Sie können im Terminaltyp cd(Leerzeichen nach 'd') Ordner / Verzeichnis auf das Terminalfenster ziehen

3.b) oder geben Sie einfach Ihren Weg zum Ziel ein, z. B. cd /Users/yourAccountName/Google\ Drive/sub/subSubFolder "yourAccountName" ist der Name Ihres Kontos im Betriebssystem und "sub / subSubFolder" Ihre Ordnerstruktur in GD. Bitte beachten Sie, dass Sie spezielle Symbole in Ihrem Dateipfad und Namen mit Backslash ('\') "maskieren" müssen, wie ich es mit Leerzeichen im Namen des Ordners "Google Drive" getan habe, damit es jetzt "Google \ Drive" aussieht.

4) Und wie grgarside in seinem Beitrag zu klären, müssen Sie verwenden sudo und -dSchlüssel auszuführen verbinden. Geben Sie einfach Folgendes ein:

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

-2

Zwei Möglichkeiten, um viele Dateien / Ordner in Google Drive zu übernehmen, ohne Ihre Dateistruktur zu ändern:

  1. Wenn Google Drive für Mac installiert ist: Duplizieren Sie die entsprechenden Ordner und ziehen Sie ihre Kopien in den Google Drive-Ordner.

ODER

  1. Verwenden von Google Drive mit Google Chrome: Ziehen Sie die entsprechenden Ordner in ein Google Drive-Fenster in Chrome. Sie werden hochgeladen und dies wird Ihre Dateistruktur nicht durcheinander bringen.

Wenn Sie eine dieser Methoden verwenden, werden Ihre Ordner in Drive verschoben, ohne dass Ihre Dateistruktur geändert wird.

Ich weiß, dass beides nicht das ist, was Sie angefordert haben, aber beide sollten den Job machen. Kommentar unten für alles andere.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.