Symlinks funktioniert nicht, wenn der link ist in einem anderen Verzeichnis?
Wow, ich habe noch nie wirklich benutzt symlinks, dass viel vor, aber das ist wirklich verblüffend:
bash-3.2$ echo "weird" > original.txt
bash-3.2$ mkdir originals
bash-3.2$ mv original.txt originals/
bash-3.2$ cat originals/original.txt
weird
bash-3.2$ mkdir copies
bash-3.2$ ln -s originals/original.txt copies/copy.txt
bash-3.2$ cat copies/copy.txt
cat: copies/copy.txt: No such file or directory
bash-3.2$ ls copies/copy.txt
copies/copy.txt
bash-3.2$ ls -l copies/copy.txt
lrwxr-xr-x 1 zach staff 22 Dec 22 01:23 copies/copy.txt -> originals/original.txt
bash-3.2$ cat originals/original.txt
weird
bash-3.2$ cat copies/copy.txt
cat: copies/copy.txt: No such file or directory
bash-3.2$ cd copies/
bash-3.2$ cat copy.txt
cat: copy.txt: No such file or directory
Warum kann ich keine Katze der symlink in das Verzeichnis kopiert?
Wenn ich den symlink aus dem inneren der Kopien/, ich kann Katze es nur gut. Wenn ich den symlink im aktuellen Verzeichnis, kann ich auch die Katze es nur gut. Wenn ich den symlink im aktuellen Verzeichnis und verschieben Sie es dann in Kopien/, bekomme ich "copies/copy.txt: Keine solche Datei oder das Verzeichnis".
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie einen relativen Pfad zu einem symbolischen link, wird es bewahren Sie es als eine relative symbolische Verknüpfung. Symbolische links werden relativ zu dem Verzeichnis, der link ist in, nicht der Ort, wo Sie erstellt wurde oder eröffnet werden.
Bitte benutzen Sie den absoluten Pfad oder den Pfad relativ zu dem link.
Ändern:
Zu:
Können Sie auch einen relativen Pfad zu erreichen.
wie
Diese arbeiten
beim öffnen der symbolische link, der es versucht, finden Sie die Datei aus dem Verzeichnis kopiert und da, die nicht vorhanden ist Sie immer, dass Fehler.
Wenn Sie einen relativen oder absoluten Pfad dieses problem wird gelöst.
Betrachten wir ein Beispiel, wo Sie wollen symlink Ihre Anwendung anmeldet, um irgendwo sonst sein kann, ein Verzeichnis, das bereitgestellt ist, um ein sekundäres Verzeichnis, dessen Größe nicht Wirkung Ihre server aufhören arbeiten. Nun das gemountete Verzeichnis Ziel für Sie, und erstellen Sie einen symbolischen Link auf das Verzeichnis für die logs-Verzeichnis.
Angenommen, Ihre Anwendung in das Verzeichnis /home/ubuntu/my_app und sobald Sie beginnen, Ihre Anwendung zu generieren wird es ein log-Verzeichnis in Ihrem Verzeichnis my_app. Jetzt ist das Ende Ziel ist, zu lenken, die disk-Auslastung Belastung für die bereitgestellten Verzeichnis-und derzeit nicht über unseren log-Verzeichnis, die in unserem app-Verzeichnis. So einfach gehen Sie voran und führen Sie die folgenden Schritte aus:
Diese zuerst erstellen Sie ein Verzeichnis namens log im montierten Abschnitt und ordnen Sie Ihre Anwendung meldet sich zu diesem Verzeichnis. Jede Datei, die Sie hinzufügen in der Anwendung log-Ordner wird verbunden mit dem installierten Verzeichnis automatisch und somit können Sie diese Dateien Lesen her, wohin Sie wollen, entweder von der original-logs-Verzeichnis oder aus dem bereitgestellten Ordner.