반응형

 


개요

윈도를 사용하다 보면 바로가기를 사용해 본 경험이 다들 있을 겁니다.

리눅스도 마찬가지로 윈도우에서 바로가기와 같은 기능을 하는 링크(Link)가 있는데 윈도와 는 조금 다릅니다.

리눅스에서 링크는 2가지로 나뉘게 되는데 이번에는 그 2가지의 링크의 종류에 대해서 알아보겠습니다.

 


inode

 

우선 리눅스 inode 라는 개념을 알아보겠습니다.

이 것은 리눅스(유닉스) 파일 시스템에서 사용되는 자료 구조입니다.

inode 파일 혹은 디렉터리의 각종 정보들을 담고 있습니다.

모든 파일과 디렉터리는 한개씩 inode를 가지고 있으며 그 inode에는 파일의 허가권, 소유권 파일의 실제 위치 등 중요한 마룻보들이 들어 있습니다.

즉 inode는 데이터의 우편변호 역할을 한다고 할 수 있습니다.

 


하드 링크 파일 과 심볼릭 링크 파일

 

하드 링크 파일과 심볼릭 링크 파일

 

위 그림을 보면 잘 이해하실수 있는데 원본 파일로 하드 링크를 만들면, 하드 링크는 원본 파일과 동일한 inode를 직접적으로 가리킵니다. 따라서 원본 파일이 사라지더라도 데이터만 살아 있다면 원본 파일에 접근이 가능합니다.

 

심볼릭 링크(소프트 링크)의 경우는 만들게 되면 또 다른 inode를 생성해서 이를 가리키게 되며, 복사 생성된 inode는 포인터를 가리키고, 포인터는 다시 원본 파일을 가리키게 되는 것입니다.

따라서 특정 데이터에 접근할 때, 심볼릭 링크를 통해 접근할 경우 다시 원본 파일을 거치게 되는데, 원본 파일이 사라질 경우 해당 데이터에 접근할 수 없게 됩니다.

 

하드 링크 : ln 링크 대상 파일 이름 링크 파일 이름

심볼릭 링크 : ln -s 링크 대상 파일 이름 링크 파일 이름

 


예제

 

첫번째줄이 하드링크 두번째줄이 소프트링크 

 

하드 링크는 소유권이 그대로이며 소프트 링크는 소유권이 root로 설정이 됩니다!.

 

(결과 화면)

 

 

ln -sf 명령어는 링크가 걸려있어도 대상을 바꿀수 있습니다!

 

 

 

이렇게 이번에는 윈도에서 바로가기와 같은 리눅스의 하드 링크와 심볼릭 링크에 대해서 알아보았습니다.


 

 

반응형

+ Recent posts