일반적으로 말하는 파일은 실제로 디스크 상에 위치한 데이터에 불과하다. 즉, 파일을 생성하고 삭제한다는 개념은 디스크 상에 데이터를 생성하고 삭제한다는 것과 일맥상통하다. 그리고 파일이라고 불리는 이 데이터들은 유닉스 계열의 운영체제에서 모두 inode로 관리된다.

사용자는 데이터를 실행하거나 읽고, 쓰는 등 조작을 하고자 한다면, 하드 링크를 이용하여 inode에 접근하고 원하는 작업을 수행하게 된다. 즉, 일반적으로 사용자 공간에서 확인할 수 있는 파일들은 모두 하드 링크라고 볼 수 있다.

만일 inode에 접근할 수 있는 하드 링크가 하나도 없게 되면, 이것이 곧 파일의 삭제로 이어진다.

하드링크를 생성하면 Inode를 가리키는 하드링크에 불과하다.

Untitled

심볼릭 링크를 생성하면 하드링크와 동일하게 파일이 추가적으로 생성하지만 inode를 조사해보면 하드 링크와 달리 별도의 inode를 참조하고 있다. 심볼릭링크는 별도의 inode를 갖고 있고 디스크 상에 별도의 데이터를 유지하고 있으며 디스크상의 데이터는 그저 하드 링크의 inode를 참조하도록 주소만을 가지고 있을 뿐이다. 이 때문에 심볼릭 링크가 바로가기와 같이 작동할 수 있으며 하드 링크와 달리 별도의 크기를 갖고 있는 것이다.

Untitled