Finder behandelt symbolische Links anders als Terminal MacBook Pro Retina OS X 10.9.4

Ich habe den symbolischen Link jboss7 für den harten Link jboss-as-7.1.1.Final-downloaded erstellt und es hat im Finder gut funktioniert. Dann habe ich eine Sicherung erstellt, bevor ich JBoss geändert habe ...

ln -s jboss-as-7.1.1.Final-downloaded jboss7
cp jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-orig

Später habe ich den Hardlink in jboss-as-7.1.1.Final-downloaded-modified umbenannt und durch backup ersetzt.

mv jboss-as-7.1.1.Final-downloaded jboss-as-7.1.1.Final-downloaded-modified
mv jboss-as-7.1.1.Final-downloaded-orig jboss-as-7.1.1.Final-downloaded

Der symbolische Link zeigt korrekt auf das Backup mit demselben Dateinamen (mit der Endung -downloaded), aber der Finder zeigt und behandelt den symbolischen Link falsch und sagt, es sei ein Alias ​​für einen Ordner, der mit (-downloaded-modified) endet.

Soll Finder symbolische Links auf diese Weise behandeln? Wie aktualisiere ich den Finder, um den symbolischen Link als Verweis auf den aktuellen Hardlink zu erkennen?

Randpunkt: Befehle, die ich mit dem tcsh-Terminal oder Finder geschrieben habe (ich erinnere mich nicht, und die Terminal-Geschichte reicht nicht weit genug zurück, um dies zu beantworten).

Verwandte: OS X erstellt keine symbolischen Links, sondern Aliase

Antworten (2)

Ich konnte dies auch reproduzieren (unter OS X 10.9.4). Ein einfacherer Fall ist folgender:

touch file.txt
ln -s file.txt link.txt
mv file.txt moved.txt
touch file.txt

Wenn der Finder während der Ausführung für das Arbeitsverzeichnis geöffnet war mv, folgt er (fälschlicherweise) link.txtbis moved.txtzum Neustart. Interessanterweise benötigen Sie nicht einmal das Terminal, um diesen Fehler zu reproduzieren, da er auch für Aliase gilt:

  1. Erstellen file.txt.
  2. Erstellen Sie einen Alias ​​von file.txt.
  3. Umbenennen file.txtin moved.txt.
  4. Erstellen Sie eine neue Datei, auch file.txt.

Das gewünschte Verhalten für Aliase besteht darin, auf die verschobene Datei ( moved.txt) zu verweisen, es sei denn, am ursprünglichen Speicherort ( file.txt, erstellt in Schritt 4) wurde eine neue Datei erstellt. Aber das tatsächliche Verhalten ist genau wie in Ihrem Beispiel: Der Finder folgt dem Alias ​​bis zu einem Neustart weiter zum verschobenen Ort.

Dies ist ein Fehler im Finder. Die Problemumgehung besteht darin, den Finder neu zu starten, wenn ein geöffnetes Fenster einen symbolischen Link/Alias ​​anzeigt, während Sie die Zieldatei verschieben oder umbenennen.

Ich sehe das auch in 10.9.5.

Es ist seltsam. Ich kann es reproduzieren, aber nur, wenn ich den symbolischen Link im Fenster "Informationen abrufen" im Finder überprüfe, bevor ich das Backup verschiebe. Wenn Sie alle Schritte ausführen, ohne dieses Fenster zu öffnen und zu überprüfen, scheint es nicht zu funktionieren. Wenn Sie jedoch die Originaldatei im Finder verschieben, folgt der Link der Datei, jedoch nur im Finder. Auch nach dem Neustart des Finders zeigt er den korrekten Pfad an, solange die Originaldatei noch vorhanden ist. Dabei ändert sich der Symlink nicht – er zeigt immer auf die gleiche Stelle. Es muss ein Fehler sein, wie der Finder Symlinks auflöst. Es scheint sie als Aliase zu behandeln, aktualisiert sie jedoch nicht, wenn Sie die Originaldatei verschieben, sodass sie zurückgesetzt wird, wenn Sie den Finder neu starten.

Ich bin mir nicht sicher, was genau die Auswirkungen sind. Wenn Sie die Originaldatei ersetzen müssen, ist es kaum praktikabel, den Finder jedes Mal neu zu starten, aber ich denke, es sollte sich nur auf Fälle auswirken, in denen Sie den Symlink im Finder oder vielleicht Programme öffnen, die das Widget zur Dateiauswahl des Betriebssystems verwenden. (Ich habe nicht getestet, ob sie genauso behandelt werden wie der Finder)