[ 요약 ]

 

위 그림과 같이 하드 링크는 원본 파일과 동일한 inode를 직접적으로 가리키기 때문에 원본 파일이 사라지더라도

데이터만 살아 있다면 원본 파일에 접근이 가능하다.

반면, 심볼릭 링크는 또 다른 inode를 생성하여 생성된 iode는 포인터를 가리키고 포인터는 원본 파일을 가리킨다.

따라서 심볼릭 링크를 통해 데이터에 접근할 경우 원본 파일을 거치기 때문에 원본 파일이 사라질 경우

해당 데이터에 접근할 수 없다.

 

 

 < 하드링크 > 

 

- ln [원본파일명] [하드링크파일명]

 

- 파일이 물리적으로 저장된 주소를 가리키는 링크

 

- 원본파일의 inode를 참조하는 파일이다.

 

- 하드링크 파일은 파일의 정보를 담고 있는 원본 파일의 inode를 공유하기 때문에 사실상 파일명만 다를뿐

같은 파일을 가리킨다고 할 수 있다.

 

- 하드링크파일의 내용을 수정하게 되면 원본파일의 내용도 수정되고, 원본파일을 수정해도

하드링크 파일의 내용이 수정된 것을 볼 수 있다.

 

- 원본 또는 하드링크에서 권한 변경 시 둘 다 동일한 권한으로 변경된다.

 

- 하드링크의 파일을 지우고자 한다면 원본과 링크 파일 두 개를 모두 지워야 한다.

 

- 자원을 공유하면서도 데이터를 안전하게 관리하고자 할 때 주로 사용된다.

 

 

 < 심볼릭 링크 > 

 

- ln -s [원본파일명] [심볼릭링크파일명]

 

- 파일 또는 디렉토리를 가리키고 있는 포인터

 

- 소프트링크라고도 하며, 원본파일과 별개의 inode를 갖는다.

 

- 심볼릭링크가 가리키는 실제 파일은 일반 파일과는 다르게 포인터 역할을 하며, 해당 포인터는 실제 원본 파일을 가리킨다.

 

- 윈도우의 바로가기파일과 비슷하다.

 

- 원본 파일이 삭제되면 링크 파일의 포인터가 가리키는 내용이 사라지게 되기 때문에

각 파일의 inode를 조회해보면 서로 다른 내용임을 알 수 있다.

 

- 만약 원본 파일을 다른 장소로 이동시키면 심볼릭 링크가 깨지기 때문에 삭제와 비슷한 결과를 받을 수 있다.

 

- 링크파일의 권한 변경 시 링크파일의 권한이 변경되는 것이 아니라 원본파일의 권한이 변경된다.

 

- 파일의 불필요한 반복적 복사를 방지하여 파일 시스템을 유연하게 활용하거나

비슷한 역할을 담당하는 여러 파일 중 하나를 선택하여 대표적으로 사용하려 할 때 유용하게 쓸 수 있다.

 

 

 < 하드링크와 심볼릭링크 비교> 

 

  하드링크 심볼릭링크
ln 옵션 옵션 X -s
하드링크 개수 링크마다 1 증가 링크 개수 증가 X
원본 파일 용량 용량 X 용량 0 (파일명이 용량)
다른 파일 시스템 링크 불가 링크 가능
원본 파일 내용 접근 가능 접근 가능
파일 내용 수정 원본파일 내용이 수정 원본파일 내용이 수정
원본 파일 삭제 접근 가능 접근 불가
디렉토리 링크 불가 링크 가능
퍼미션 의미 O 의미 X
링크 생성 권한이 있어야 함 권한 없어도 가능

 

 

 

 

 

 

 

 

'2020-1 STUDY > Linux Study' 카테고리의 다른 글

Linux Study Week 3 - 3  (0) 2020.05.24
Linux Study Week 3 - 2  (0) 2020.05.24
Linux Study Week 2 - 4  (0) 2020.05.18
Linux Study Week 2 - 3  (0) 2020.05.18
Linux Study Week 2 - 2  (0) 2020.05.18

+ Recent posts