SW/리눅스

Linux : Ln Command (Symbolic Links) 사용 방법, 예제, 명령어

얇은생각 2021. 2. 28. 07:30
반응형

심볼 링크 또는 소프트 링크라고도 하는 심볼 링크는 다른 파일이나 디렉터리를 가리키는 특수 파일 형식입니다. 

이 가이드에서는 ln 명령을 사용하여 심볼릭 링크를 만드는 방법에 대해 설명합니다.

 

 

Linux : Ln Command (Symbolic Links) 사용 방법, 예제, 명령어

 

 

링크 유형

Linux/UNIX 시스템에는 두 가지 유형의 링크가 있습니다. 

하드 링크 : 하드 링크를 기존 파일의 추가 이름으로 생각할 수 있습니다. 하드 링크는 둘 이상의 파일 이름을 동일한 아이노드와 연결하고 있습니다. 단일 파일에 대해 하나 이상의 하드 링크를 만들 수 있습니다. 다른 파일 시스템 또는 파티션의 디렉터리 및 파일에 대한 하드 링크를 만들 수 없습니다.

소프트 링크 : 소프트 링크는 Windows(윈도우)의 바로 가기 같은 것입니다. 파일 또는 디렉터리에 대한 간접 포인터입니다. 하드 링크와 달리 심볼릭 링크는 다른 파일 시스템 또는 파티션의 파일이나 디렉터리를 가리킬 수 있습니다.

 

 

 

ln 명령 사용 방법

ln은 파일 간의 링크를 만드는 명령줄 유틸리티입니다. 기본적으로 ln 명령은 하드 링크를 생성합니다. 심볼릭 링크를 만들려면 -s(--심볼릭) 옵션을 사용하십시오. 

심볼릭 링크를 생성하기 위한 ln 명령 구문은 다음과 같습니다.

ln -s [OPTIONS] FILE LINK

 

 

FILE과 LINK가 모두 주어지면 ln은 첫 번째 인수(FILE)로 지정된 파일에서 두 번째 인수(LINK)로 지정된 파일에 대한 링크를 생성합니다.

하나의 파일만 인수로 제공되거나 두 번째 인수가 점(.)인 경우 ln은 현재 작업 디렉토리에 해당 파일에 대한 링크를 만듭니다. symlink의 이름은 symlink가 가리키는 파일의 이름과 동일합니다.

기본적으로 ln은 성공하면 출력을 생성하지 않고 0을 반환합니다.

 

 

 

파일에 대한 Symlink 생성

지정된 파일에 대한 심볼 링크를 만들려면 터미널을 열고 다음을 입력합니다.

ln -s source_file symbolic_link

 

 

source_file을 symbolic 링크를 생성할 기존 파일의 이름으로 바꾸고 symbolic_link를 symbolic 링크 이름으로 바꿉니다. 

symbolic_link 매개 변수는 옵션입니다. 심볼 링크를 지정하지 않으면 ln 명령이 현재 디렉터리에 새 링크를 생성합니다. 

다음 예에서는 my_link라는 심볼릭 링크를 만들고 있습니다. my_file.txt이라는 이름의 파일에 txt를 추가합니다.

ln -s my_file.txt my_link.txt

 

 

symlink가 성공적으로 생성되었는지 확인하려면 ls 명령을 사용합니다.

ls -l my_link.txt

 

 

출력은 다음과 같습니다.

lrwxrwxrwx 1 linuxize users  4 Nov  2 23:03  my_link.txt -> my_file.txt

 

 

l 문자는 심볼 링크를 나타내는 파일 형식 플래그입니다. -> 기호는 symlink가 가리키는 파일을 나타냅니다.

 

 

 

디렉토리에 대한 Symlinks 생성

디렉터리에 심볼 링크를 만드는 명령은 파일에 심볼 링크를 만들 때와 같습니다. 디렉터리 이름을 첫 번째 매개 변수로 지정하고 심 링크를 두 번째 매개 변수로 지정합니다.

예를 들어 /mnt/my_drive/movies 디렉터리에서 ~/my_movies 디렉터리로 심볼 링크를 생성하려면 다음을 수행합니다.

ln -s /mnt/my_drive/movies ~/my_movies

 

 

 

Symlinks 덮어 쓰기

이미 존재하는 심볼릭 링크를 생성하려고 하면 ln 명령이 오류 메시지를 인쇄합니다.

ln -s my_file.txt my_link.txt

# ln: failed to create symbolic link 'my_link.txt': File exists

 

 

symlink의 대상 경로를 덮어쓰려면 -f(--force) 옵션을 사용합니다.

ln -sf my_file.txt my_link.txt

 

 

 

Symlinks 제거

심볼릭 링크를 삭제/제거하려면 링크 해제 또는 rm 명령을 사용하십시오. 

언링크 구문은 매우 간단합니다.

unlink symlink_to_remove

 

 

rm 명령을 사용하여 심볼 링크를 제거하는 것은 파일을 제거할 때와 같습니다.

rm symlink_to_remove

 

 

어떤 명령을 사용하든 심볼 링크를 제거할 때 이름 끝에 / 를 추가하지 않습니다.

원본 파일을 삭제하거나 다른 위치로 이동하면 기호 파일이 있는 상태가 되므로 제거해야 합니다.

반응형