OS X에서 심볼릭 링크를 변경하는 방법은 무엇입니까? 않을 것입니다 (최소한 명령 줄에서 ‘Segmentation Fault’라고

을 사용하여 새 심볼을 삭제하거나 만들지 않고 심볼릭 링크가 가리키는 위치를 어떻게 변경 ln -s "/path/to/point/to" "/path/where/symlink/is"합니까?

Java의 “Current”symlink에 대해 시도했을 때 Java는 작동하지 않을 것입니다 (최소한 명령 줄에서 ‘Segmentation Fault’라고 말함). 기계 (하지만 나중에 /Applications/Utilities/Java Preferences.app현재 Java 버전을 변경 하는 데 어쨌든 사용해야한다는 것을 알았습니다 ).



답변

mkdir /path/where/newsymlink
ln -s /path/to/point/to /path/where/newsymlink/is
mv /path/where/newsymlink/is /path/where/symlink/
rmdir /path/where/newsymlink

그러나 Java 기본 설정 유틸리티는 단순한 기호 링크 이상을 변경합니다. 이를 사용하여 Java 버전이 변경되도록해야합니다.


답변

ln -hfs newlocation existinglink

또는

ln -nfs newlocation existinglink

새로운 위치를 가리 키도록 기존 링크를 변경합니다

(-n과 -h는 작동에서 동일합니다)

‘남자 ln’에서

-h target_file 또는 target_dir이 기호 링크 인 경우에는 따르지 마십시오. -f 옵션을 사용하면 디렉토리를 가리키는 심볼릭 링크를 대체 할 때 가장 유용합니다.

-f 대상 파일이 이미 존재하면 링크를 해제 할 수 있도록 링크를 해제하십시오. -f 옵션은 이전의 모든 -i 옵션보다 우선합니다.

-s Creae 심볼릭 링크


답변

시험:

unlink /path/to/current/link
ln -s /path/to/target /path/to/symbolic/link

답변

ln 명령을 사용하면 링크를 변경할 수 없으며 새 링크 만 만들 수 있습니다.


답변

링크를 변경하기 전후에 링크 및 대상에 대한 권한을 비교 했습니까? 적절한 chown 및 chmod 명령으로 후속 작업을 수행해야 할 수도 있습니다.