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의 설명 참조).