Programming/Linux

[Linux] 심볼릭 링크(symbolic link) 설정하기

꾸준희 2021. 5. 25. 17:04
728x90
반응형

 

 

 

필자는 CUDA 버전을 2개를 사용중이기 때문에 (CUDA 10.2 / CUDA 11.1)  심볼릭 링크를 설정하여 버전을 관리하고 있다. 

 

 

심볼릭 링크란?

 

컴퓨팅에서 심볼릭 링크(symbolic link) 또는 기호화된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별한 종류의 파일이다. 심볼릭 링크는 이미 1978년까지 DEC와 데이터 제너럴의 RDOS의 미니 컴퓨터 운영 체제에 존재했다. 오늘날 이들은 FreeBSD, GNU/리눅스, OS X과 같은 대부분의 유닉스 계열 운영 체제인 POSIX 운영 체제 표준과 윈도우 비스타, 윈도우 7, 또 바로 가기 파일의 형태로서 윈도우 2000, 윈도우 XP에 이르는 윈도 운영 체제를 통해 지원되고 있다.

심볼릭 링크는 대부분의 작업에 투명하게 동작한다. 심볼릭 링크로 이름이 지정된 파일에 읽고 쓰는 프로그램들은 마치 운영 체제가 직접 대상 파일에 작용하는 것처럼 수행한다. 그러나 심볼릭 링크들을 특별하게 다루어야 하는 프로그램들(이를테면 백업 유틸리티)은 이들을 직접 식별하고 조작할 수도 있다.

심볼릭 링크는 다른 파일이나 디렉터리에 대한 경로로서 운영 체제가 자동으로 해석하고 추적하는 텍스트 문자열을 포함한다. 이러한 다른 파일이나 디렉터리를 대상(target)으로 부른다. 심볼릭 링크는 대상으로부터 독립적으로 존재하는 두 번째 파일이다. 심볼릭 링크가 삭제되면 대상은 영향을 받지 않는다. 심볼릭 링크가 대상을 지시하면 나중에 대상이 이동되거나 이름이 바뀌거나 지워지더라도 심볼릭 링크는 자동으로 업데이트되거나 삭제되지는 않지만 지속적으로 오래된 대상(현재는 존재하지 않는 위치나 파일)을 가리킨 채로 존재한다. 이동되었거나 존재하지 않는 대상을 가리키는 심볼릭 링크들은 broken, orphaned, dead, dangling 등의 용어로 불리기도 한다.

심볼릭 링크는 하드 링크와는 차이가 있다. 하드 링크는 다른 볼륨이나 파일 시스템 상의 경로를 연결하지 않지만 심볼릭 링크는 링크와 대상이 존재하는 볼륨의 어느 파일이나 디렉터리라도 가리킬 수 있다. 하드 링크는 무조건 기존의 파일만을 가리키는 반면 심볼릭 링크는 어느 것을 가리키지 않는 임의의 경로를 포함할 수도 있다.

파일 시스템 계층을 재정렬하려는 노력에 따라 일부 유닉스와 리눅스 배포판들은 심볼릭 링크를 널리 사용한다. 이는 변종의 콘텍스트 의존 심볼릭 링크들과 같은 일부 매커니즘을 통해 수행할 수 있다. 또, 더 직관적이거나 응용 프로그램에 특화된 디렉터리 트리를 만들고, 핵심이 되는 시스템 명령 및 유틸리티들을 다시 설계하는 일 없이 시스템을 다시 정리하는 기회를 제공한다.

 

 

 

 

 

 

심볼릭 링크를 사용하는 방법은 아래와 같다. 

 

ln -s [대상 경로] [링크 경로]

 

 

 

 

 

 

참고로 심볼릭 링크를 삭제하는 방법은 아래와 같다. 

 

 ls -l 로 심볼릭 링크 확인하여 링크 파일 삭제 (원본파일 중 링크파일을 삭제)

 

 

 

 

 

 

 

 

참고자료 1 : https://ko.wikipedia.org/wiki/%EC%8B%AC%EB%B3%BC%EB%A6%AD_%EB%A7%81%ED%81%AC

 

심볼릭 링크 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 컴퓨팅에서 심볼릭 링크(symbolic link) 또는 기호화된 링크는 절대 경로 또는 상대 경로의 형태로 된 다른 파일이나 디렉터리에 대한 참조를 포함하고 있는 특별

ko.wikipedia.org

 

728x90

 

 

728x90
반응형