파일 위치를 추적하는 방법은 무엇입니까?

파일 위치를 추적하는 방법은 무엇입니까?

가능한 한 간단하고 효율적인 방식으로 내 시스템의 특정 폴더 경로를 추적하고 싶습니다. 나의 첫 번째 가정은 심볼릭 링크를 사용하여 이를 달성할 수 있다는 것이었지만 심볼릭 링크가 작동하는 방식에 대해 모순되는 정보를 보았습니다.

방법에 대한 질문이 많이 접수되었습니다.심볼릭 링크 대상에 대한 경로를 얻습니다("사용"과 같은 답변 포함 greadlink). 그러나 나는 그것을 얻는 방법을 묻는 질문을 찾을 수 없습니다.현재의내가 찾은 모든 답변은원래의목표 경로.

그러나 현재 대상 경로를 찾는 방법을 검색할 때 모든 대답은 대상이 이동한 후 심볼릭 링크가 "깨지기" 때문에 이것이 불가능하다는 것 같습니다. 왜 그들이 이 링크가 깨졌다고 생각하는지 이해가 되지 않습니다. A를 대상으로 심볼릭 링크 B를 만든 다음 mv A를 새 위치로 이동하면 심볼릭 링크 B가 여전히 작동합니다. A가 이동된 후 A가 변경된 경우에도 A의 업데이트된 내용이 계속 표시됩니다. 그리고 Path Finder의 B에 대한 컨텍스트 메뉴에서 '원본 표시'를 선택하면업데이트됨A의 경로. 그러나 'greadlink B'는 현재 위치가 아닌 A의 원래 위치만 가리킵니다.

심볼릭 링크에 대해 구체적으로 언급했지만 더 광범위하고 중요한 질문은 파일을 이동한 후 파일 위치를 얻는 방법입니다. 지금까지 찾은 최고의 솔루션은 find어떤 방식으로든 사용하는 것이지만, 몇 개 이상의 파일을 추적하려고 할 때 이 방법은 너무 느립니다. 그러나 Path Finder의 심볼릭 링크는 대상 위치를 효과적으로 추적하는 것처럼 보이므로 이것이 가능하다는 것을 알고 있습니다.

답변1

별칭에 대해 상기시켜 주신 @grawity에게 감사드립니다. 파일 위치를 추적하기 위해 심볼릭 링크 대신 별칭을 사용해 보았습니다. 다음 스크립트를 사용할 수 있다는 것이 밝혀졌습니다.현재의대상이 이동한 후에도 대상까지의 경로입니다.

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

다음으로 호출됨osascript "/path/to/ResolveAlias.applescript" "/path/to/alias"

관련 정보