정보 보안을 향한 항해

Linux | link 개념과 soft link 와 hard link 의 차이 본문

카테고리 없음

Linux | link 개념과 soft link 와 hard link 의 차이

금홍자 2021. 8. 26. 15:35

 

링크란 사전적 의미로 관련되어있다, 연결되어있다입니다.

 

 

복사는 복사 당시 상태만 반영되지만

링크는 링크한 원본이 링크한 뒤에 바뀌는 경로와 내용을 모두 반영합니다.

 

링크 파일 명령어입니다.

ln (-s) [원본파일] [링크파일]

-s 는 소프트 링크라는 뜻으로 소프트 링크 명령어이고

-s 를 빼면 하드 링크 명령어입니다.

 

 

 

soft link

soft link [소프트 링크] 는 symbolic link [심볼릭 링크] 로도 불립니다.

Windows 의 단축키와 같은 개념으로 원본파일을 지시하는 파일입니다.

 

소프트 링크 명령어

ln -s [원본파일] [링크파일]

 

소프트 링크는 inode 를 공유하지 않기 때문에

다른 partition 에 있는 file이나 dirs 에 대해서도 생성이 가능하지만

원본 파일의 경로가 바뀔때 link가 깨진다는 단점이 있습니다.

원본 파일이 다른 곳으로 이동될 가능성이 있다면

절대 경로로 소프트 링크를 걸어야합니다.

 

소프트 링크의 단점에 대해서는 다음글에서 자세히 다루겠습니다.




hard link

hard link [하드 링크] 는 Windows의 파일 복사와 비슷합니다.

하드 링크는 원본파일과 동일한 inode 를 사용한다는 특징을 가집니다.

 

 

하드 링크 명령어

 

ln [원본파일] [링크된 파일]

원본 파일과 동일한 inode를 사용하기 때문에

원본파일을 삭제해도 hard link가 존속하는 한

hard link 된 파일은 삭제되지 않는 장점이 있지만

 

동일한 partition 내에서만 생성 가능하고

다른 partition에 있는 file에 대해서는 hard link 를 생성하지 못합니다.

 

 

 


오늘 기억해야할 가장 중요한 링크의 특징은

원본의 경로나 내용이 바뀌면 링크된 복사본의 경로나 내용도 함께 바뀐다는 사실입니다.