Computer >> 컴퓨터 >  >> 문제 해결 >> Linux

심볼릭 링크 파일 삭제 방법: 초보자도 따라 할 수 있는 단계별 완벽 가이드

심볼릭 링크(symlink)는 '소프트 링크'라고도 불리며, 다른 파일을 참조하는 특수한 파일입니다. 원본 파일의 전체 경로를 일일이 입력하지 않고도 해당 파일에 바로 접근할 수 있게 해주죠. 일반 파일은 물론 디렉터리에도 링크를 걸 수 있어서, 많은 운영체제와 패키지가 이 기능을 적극적으로 활용합니다. 예를 들어 리눅스(Linux)나 FreeBSD에서 Wine을 사용해 본 분이라면 dosdevices라는 디렉터리를 기억할 겁니다. 이곳에는 윈도우 프로그램 실행을 돕기 위해 가상 MS-DOS 드라이브를 가리키는 심볼릭 링크들이 담겨 있습니다.

하지만 때로는 직접 만든 심볼릭 링크나 프로그램이 남긴 링크를 삭제해야 할 필요가 생깁니다. 심지어 'Too many levels of symbolic links'라는 오류 메시지를 마주칠 수도 있는데, 이는 링크가 자기 자신을 무한히 참조하는 순환 구조에 빠졌다는 뜻입니다.

방법 1: rm 명령으로 심볼릭 링크 파일 삭제하기

특별한 이유 없이 링크를 마구 삭제하는 것은 좋지 않지만, 정확한 대상을 알고 있다면 단 한 줄의 명령으로 깔끔하게 처리할 수 있습니다. 먼저 Ctrl + Alt + T 키를 동시에 눌러 터미널 창을 열어 주세요. Unity 환경이라면 Dash에서 터미널을 검색하고, KDE, Xfce4, LXDE 등 다른 데스크톱 환경이라면 응용 프로그램 메뉴의 시스템 도구(System Tools) 항목에서 실행할 수 있습니다.

터미널이 열리면 cd 명령으로 삭제할 링크가 있는 디렉터리로 이동한 뒤, 아래 명령을 입력합니다.

rm -i linkName

'linkName' 부분은 실제 링크 이름으로 바꿔 주세요. 그러면 'rm: remove symbolic link 'linkName'?'라는 확인 메시지가 나타나는데, y를 입력하고 Enter를 누르면 링크가 삭제됩니다. rm 명령만 단독으로 사용해도 삭제는 가능하지만, -i 옵션을 붙여 확인 절차를 거치는 것이 안전합니다. 실수로 일반 파일을 지우는 것을 막아 주기 때문입니다. 만약 프롬프트에 'symbolic link'가 아닌 다른 문구가 뜬다면 n을 입력해 삭제를 취소하면 됩니다.

연습: 심볼릭 링크 만들고 삭제해 보기

직접 실습해 보고 싶다면 /tmp 디렉터리로 이동해 mkdir bob으로 디렉터리를 하나 만들고, ln -s bob jamie 명령으로 심볼릭 링크를 생성해 보세요. ln -s name1 name2 형식이면 파일 시스템 어디에 있는 파일이나 디렉터리든 자유롭게 링크할 수 있습니다. 예를 들어 현재 디렉터리에 시스템 전역 nanorc 파일을 가리키는 'edit'이라는 링크를 만들었다면, 이후에는 일반 파일처럼 접근할 수 있고 more edit 명령으로 내용을 확인할 수도 있습니다.

실습이 끝났다면 rm -i edit 명령으로 원본 파일은 그대로 둔 채 심볼릭 링크만 제거할 수 있습니다. 이 한 줄이면 사용자 계정에 삭제 권한이 있는 모든 링크를 손쉽게 처리할 수 있습니다. 만약 권한 문제로 'Too many levels of symbolic links' 오류를 해결해야 하는 상황이라면 sudo rm -i edit처럼 sudo를 앞에 붙여 관리자 권한으로 삭제하면 됩니다. 비밀번호를 입력하면 삭제가 진행됩니다.

방법 2: unlink 명령으로 심볼릭 링크 제거하기

심볼릭 링크는 unlink linkName 명령으로도 제거할 수 있습니다. 앞선 예시라면 unlink edit을 입력하면 됩니다. 다만 unlink는 rm -i가 제공하는 확인 프롬프트나 안전장치가 없어서 크게 추천되지는 않습니다. 그래도 옵션 없이 이름만 넣으면 되니 더 간편하다고 느끼는 사용자도 있습니다.

참고로 rm 명령은 Linux, BSD, Solaris, macOS 등 사실상 모든 유닉스 계열 시스템에 기본 탑재되어 있기 때문에, 호환성 측면에서는 rm을 활용하는 편이 가장 안전하고 보편적인 선택입니다.

작성자 소개

심볼릭 링크 파일 삭제 방법: 초보자도 따라 할 수 있는 단계별 완벽 가이드

케빈 애로우즈(Kevin Arrows)

케빈 애로우즈는 10년 이상의 업계 경력을 지닌 베테랑 IT 전문가로, MCTS(Microsoft Certified Technology Specialist) 자격증을 보유하고 있습니다. 최신 기술 동향을 꾸준히 학습하는 것을 즐기며, 소프트웨어 개발, 사이버 보안, 클라우드 컴퓨팅 등 다양한 분야에서 폭넓게 집필해 왔습니다. 복잡한 기술 개념을 명확하고 간결하게 풀어내는 능력으로 동료들에게 폭넓은 인정을 받고 있습니다.