본문 바로가기
linux(리눅스)

[리눅스 linux] 하드 링크와 소프트 링크(심볼릭 링크)

by kkomaeng 2022. 2. 3.

안녕하세요 꼬맹입니다.

모든 파일에는 i-node 라는 파일 번호가 있습니다.

 

ls 명령어에 -li 옵션을 사용하면

 

 

이렇게 파일마다 맨 앞에 아이노드 번호가 부여되어 있습니다.

이미지2

 

1. 하드 링크

#ln 원본파일명 만들고싶은파일명
ln testt3 test5

 

하드 링크는 같은 아이노드 값을 공유하게 되며 하드링크 파일을 수정하면 원본도 함께 수정되는 구조 입니다.

이미지2를 보시면 test3 과 test5는 같은 아이노드 값을 갖고 있습니다. 따라서 권한 값도 수정일자도 모두 동일합니다.

단순 복사와 차이점은 복사본의 경우 아이노드 값이 다르기 때문에 복사본을 수정해도 원본에 영향을 끼치지 않습니다.

 

2. 소프트 링크(심볼릭 링크)

#ln -s 원본파일명 심볼릭링크파일명
ln -s text0 text6

심볼릭 링크는 윈도우의 바로가기 아이콘과 비슷합니다.

심볼릭 링크의 특징은 하드 링크처럼 원본을 수정하면 링크된 디렉토리도 함께 수정됩니다.

 

다만 심볼릭 링크로 생성된 디렉토리 test6은 test0과 아이노드값이 다른데요.

심볼릭 링크의 아이노드가 원본의 아이노드에 연결되어 있기 때문에 원본을 삭제하게 되면 심볼릭 링크는 참조할 아이노드를 잃게 됩니다.

 

따라서 하드 링크는 원본을 삭제해도 하드 링크를 걸었던 파일은 그대로 남아있습니다.

하지만 하드 링크와 달리 심볼릭 링크는 원본을 삭제하게 되면 링크 되었던 것은 쓸모가 없어집니다.

 

실제로 원본을 삭제하고 링크된 것에 접근하면 접근할 수 없다는 경고창이 뜨는 걸 확인할 수 있습니다.

 

 

'linux(리눅스)' 카테고리의 다른 글

[리눅스 linux] 커버로스 Kerberos 정리  (0) 2022.02.03

댓글