💡 이 문서는 한빛미디어 - 이것이 우분투/리눅스다를 기반으로 공부하면서 체화를 위해 정리하는 글입니다. 💡
리눅스 파일의 크게 링크는 하드 링크 (Hard Link)와 심볼릭 링크 (Symbolic Link or Soft Link) 2가지가 있음.
리눅스 / 유닉스 파일 시스템에서 사용하는 자료 구조
모든 파일이나 디렉터리는 각자 1개씩의 inode가 있음
각 inode 에는 해당 파일의 소유권, 허가권, 파일 종류 등의 정보와 해당 파일의 실제 데이터 위치(주소)도 있음.
이러한 inode가 모여 있는 공간이 inode 블럭이며, 일반적으로 전체 디스크 공간의 1% 정도 차지
Data 블럭은 실제 데이터가 저장된 디스크 공간으로, 전체 디스크의 대부분을 차지stat 명령어를 통해 자세한 내용 확인 가능



Windows의 바로가기와 같은 개념 (원본 파일의 경로를 가리키는 링크)
새로운 inode2를 만들고, 데이터는 원본 파일과 연결되는 효과를 가짐
inode는 다르게 유지됨링크 파일을 삭제해도 원본 파일은 삭제되지 않음
원본 파일을 지우면 링크 파일은 원본 파일을 찾을 수 없음
장점은 전혀 다른 파일이라도 원본 파일과 이름이 같다면 계속 사용할 수 있음
ln -s {원본 파일} {심볼릭 링크 파일}

파일 유형 : l (link)
원본 파일 origin과 다른 inode 고유 번호를 가짐
→ : 원본 파일을 지정한다는 의미

원본 파일과 동일한 inode를 가짐
inode 를 갖고 있는 링크 파일은 사용이 가능하고 그 정보를 가지고 있음파일을 수정하면 원본 파일과 링크 파일 모두 수정됨 → i-node가 같기 때문
Symbolic과의 차이
Symbolic은 원본 파일과 연결돼서 (원본 파일의 포인터) 데이터 추가 (원본 파일에 의존적)
Hard link는 원본 파일의 개념이 없어지고 같은 데이터를 가지는 파일의 이름이 두 개라고 볼 수 있음.
같은 inode 를 가리키는 파일이기 때문에 이름만 다를 뿐 같은 파일
디렉토리에 대해 링크를 만들 수 없음
원본 파일을 이동시켜도 링크를 사용 가능
하드링크와 심볼릭 링크와의 중요한 차이점은 같은 inode를 바라보느냐의 차이