/ / Wie kann ich den Speicherort der Datei verfolgen? - Mac, Unix, Symbolic-Link

Wie kann ich den Speicherort der Datei verfolgen? - Mac, Unix, Symbolic-Link

Ich m├Âchte die Pfade bestimmter Ordner in nachverfolgenMein System so einfach und effizient wie m├Âglich. Meine erste Annahme war, dass ich dies mithilfe von Symlinks erreichen k├Ânnte, aber ich sehe widerspr├╝chliche Informationen dar├╝ber, wie ein Symlink funktioniert.

Viele Fragen haben gefragt, wie es geht Abrufen des Pfads zu einem Symlink-Ziel (mit Antworten wie "use greadlink"). Aber ich kann keine Frage finden, wie ich an das komme aktuell Zielpfad, da alle Antworten, die ich gefunden habe, nur den Zielpfad zu erhalten scheinen Original Zielpfad.

Aber da suche ich einen Weg, um den Strom zu findenZielpfad, alle Antworten scheinen zu sagen, dass dies nicht m├Âglich ist, da der Symlink nach dem Bewegen des Ziels "kaputt" wird. Ich verstehe nicht, warum sie diesen Link f├╝r kaputt halten. Wenn ich Symlink B zu Ziel A und dann MV A zu einem neuen Ort mache, funktioniert Symlink B immer noch f├╝r mich. Es zeigt weiterhin den aktualisierten Inhalt von A an, auch wenn ├änderungen an A vorgenommen wurden, nachdem A verschoben wurde. Und im Path Finder bringt mich die Auswahl von "Show Original" im Kontextmen├╝ f├╝r B zum aktualisiert Pfad von A. Und dennoch zeigt "greadlink B" nur auf die urspr├╝ngliche Position von A und nicht auf die aktuelle.

Obwohl ich Symlinks ausdr├╝cklich erw├Ąhnt habe, ist meine umfassendere und wichtigere Frage, wie der Speicherort einer Datei nach dem Verschieben ermittelt werden kann. Die beste L├Âsung, die ich bisher gefunden habe, ist die Verwendung find in gewisser Weise, aber dies ist viel zu langsam, wenn ich versuche, mehr als ein paar Dateien zu verfolgen. Symlinks in Path Finder scheinen die Zielorte effektiv zu verfolgen, daher wei├č ich, dass dies m├Âglich sein muss.

Antworten:

1 f├╝r Antwort Ôäľ 1

Vielen Dank an @grawity, dass Sie mich an Aliase erinnert haben. Ich habe versucht, einen Alias ÔÇőÔÇőanstelle eines Symlinks zu verwenden, um den Speicherort einer Datei zu verfolgen. Es stellt sich heraus, dass ich das folgende Skript verwenden kann, das das zur├╝ckgibt aktuell Pfad zum Ziel, auch nachdem sich das Ziel bewegt hat.

ResolveAlias.applescript

#!/usr/bin/osascript
on run argv
tell application "Finder"
set theItem to (POSIX file (item 1 of argv)) as alias
if the kind of theItem is "alias" then
get the POSIX path of (original item of theItem as text)
end if
end tell
end run

Aufgerufen mit osascript "/path/to/ResolveAlias.applescript" "/path/to/alias"