2020년 6월 18일 목요일

디렉토리를 가리키는 심볼릭 링크를 지울 때 맨 끝의 슬래쉬를 포함시키면 안된다

제목에 모든 내용이 다 있다...

리눅스에서 rm 명령어로 심볼릭 링크를 지울 때, 그 대상이 디렉토리면 안되는 일을 종종 경험하였었다. 강력하게 rm -rf 명령을 날리면 혹시 원본이 사라지는 것은 아닐까 하는 걱정도 있었다.

그런데 검색을 해 보니 이런 글이 있다.

How to Remove (Delete) Symbolic Links in Linux

bash의 자동완성기능을 너무 의존하다보면 디렉토리 뒤에 슬래쉬를 습관적으로 붙이게 된다. 이런 상태에서는 rm이나 unlink로 지울 수 없다는 것이다. 즉 다음 명령어는 곤란하다.

$ rm symlink_name/
#또는
$ unlink symlink_name/

현 디렉토리의 symlink를 지우려면 이렇게 해야 한다.

$ rm symlink_name
# 또는
$ unlink symlink_name

rm과 달리 unlink는 지우려는 대상(인수)을 하나씩 제공해야 한다. 이렇게 기본적인 것을 아직도 모르고 있었다니 정말 부끄럽다.

댓글 없음: