Wie erstellt man in OS X einen Hardlink (im Gegensatz zu einem Symlink oder einem Mac OS-Alias), der auf ein Verzeichnis verweist? Ich kenne bereits den Befehl "ln target destination", aber der funktioniert nur, wenn das Ziel eine Datei ist. Ich weiß, dass Mac OS im Gegensatz zu anderen Unix-Umgebungen Hardlinks zu Ordnern zulässt (dies wird z. B. für Time Machine verwendet), aber ich weiß nicht, wie ich es selbst machen kann.
Antworten
Zu viele Anzeigen?Dies kann auch mit dem eingebauten Perl (vom Terminal aus) gemacht werden, ohne etwas zu kompilieren. Mein spezieller Anwendungsfall ist Google Drive (das keine symbolischen Links unterstützt), daher spiegeln die folgenden Beispiele diesen Anwendungsfall wider.
So verknüpfen Sie Ihren Ordner "Dokumente" mit Google Drive, damit er synchronisiert wird:
perl -e 'link "/Users/me/Documents", "/Users/me/Google Drive/Documents"'
So entfernen Sie den Link zu Ihrem "Dokumente"-Ordner aus Google Drive:
sudo perl -U -e 'unlink "/Users/me/Google Drive/Documents"'
Zum Entkoppeln benötigen Sie "Root" (siehe "unlink" perldoc).
Die kurze Antwort lautet: Das geht nicht. :) (außer vielleicht als Root, dann wäre es genauer zu sagen, dass man es nicht sollte.)
Unixe erlauben nur eine bestimmte Anzahl von Verweisen auf Verzeichnisse - ".." aus allen seinen Unterverzeichnissen und "." aus sich selbst. Alles andere ist möglicherweise ein Rezept für einen sehr verwirrenden Verzeichnisbaum. Dies ist/war offensichtlich eine Designentscheidung von Ken Thompson.
(Abgesehen davon, dass Apples Time Machine dies offenbar auch tut :) )
- See previous answers
- Weitere Antworten anzeigen