i-node란?
파일이 생성될 때 마다 고유의 번호
가 주어지고, 그 번호를 i-node라고 한다.
inode
에는 파일의 권한, 형태, 고유 번호, 소유자 및 그룹, 원복 데이터의 주소 등 파일에 대한 모든 것
들이 기록되어 있는데, 유닉스 계열의 운영체제에서는 모든 파일을 inode로 관리를 하게 된다.
이러한 inode는 ls -i
명령어로 확인이 가능하다
하드링크
는 한 파일을 복사를 한다고 생각하면 된다. 하지만, cp명령어와 같은 것은 아니기 때문에 주의해야한다.
inode
는 우리가 흔히 알고 있는 파일의 데이터
를 가리키게 되고 하드링크
는 inode
를 가리키게 된다. 즉, 일반적으로 우리가 확인할 수 있는 파일들은 모두 하드링크
라고 보면 편하다.
따라서, 기본적으로 모든 파일들은 적어도 하나 이상의 하드 링크
를 가지게 되고, 하드 링크 수가 하나도 없게 되면 이것이 곧 파일의 삭제를 의미한다.
위와 같이 ln
명령어를 통하여 a
라는 파일에 대한 하드링크
를 만들게 되면, inode
가 동일한 것을 확인할 수 있다. cp
명령어의 경우는 각자 다른 inode
를 가리키게 되기 때문에 이 점이 cp명령어
와 하드링크
의 차이라고 할 수 있다. 아래 그림을 통해 차이점을 비교할 수 있을 것이다.