심볼릭 링크가 연결된 디렉토리와 심볼릭 링크를 어떻게 삭제합니까?

심볼릭 링크가 연결된 디렉토리와 심볼릭 링크를 어떻게 삭제합니까?

Say는 a심볼릭 링크입니다 b. a나는 이 두 가지를 모두 제거하는 간단한 명령을 찾고 b있으며 b.

답변1

분명히 댓글을 남길 수는 없으므로 이에 대한 답은 다음과 같습니다. a링크이므로 역참조된 디렉터리에서 재귀 옵션을 사용해야 합니다...

rm -rf "$(readlink -f "a")"; rm -f "a"

답변2

내 현재 솔루션은

rm -rf "$(readlink -f "a")"; rm -f "a"

하지만 더 쉬운 일이 있을까요?

답변3

일부 시스템은 후행 슬래시를 추가할 때 기호 링크를 역참조합니다(적어도 기호 링크가 디렉토리를 가리키는 경우).

mkdir -p b/c && touch b/c/foo && ln -s b/c a

rm -rf a/ && rm -f a
# removed "b/c" and "a"

POSIX 표준이 일부 변경되었습니다(경로 이름 확인 참조).IEEE 표준 1003.1, 2004년판그리고IEEE 표준 1003.1-2008), 그러나 후행 슬래시가 있는 경로 이름과 심볼릭 링크인 최종 경로 이름 구성 요소는 (대부분) 동일하게 동작하는 것으로 보입니다. 즉, 심볼릭 링크가 확인됩니다.

그러나 모든 시스템이 이 동작을 구현하는 것은 아닙니다(Gilles의 설명 참조).

관련 정보