[ 요약 ]
위 그림과 같이 하드 링크는 원본 파일과 동일한 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 |