티스토리 뷰

반응형

 

 

아이노드inode
모든 파일이나 디렉터리는 각자 1개씩의 inode가 있다. inode는 크기, 소유권, 허가권, 날짜/시간, 파일 형식, 링크 수 등의 metadata와 실제 데이터의 위치 정보를 가지고 있다. 이러한 inode들이 모여있는 공간을 inode 블록이라고 하고, 실제 데이터가 있는 곳을 data 블록이라고 한다.

디렉터리는 inode 번호가 일치하는 파일 이름을 가지는 목록(테이블)이다.

 


[inode 확인]


파일 조회할 때 inode까지 확인하려면 -i 옵션 주면 된다.

 

링크



[하드링크 Hard Link]

원본파일과 같은 inode를 공유하기 때문에 파일명을 제외하면 원본파일과 완전히 똑같다. 원본파일이 삭제되어도 하드링크와 연결된(linked) inode는 남아있기 때문에, 하드링크는 온전하다. 디렉터리는 하드링크를 만들 수 없다.

 

 ln 원본파일명 링크할파일명

ll -lti

*-lt 옵션을 사용하면 생성된 날짜를 기준으로 내림차순으로 조회할 수 있다. 오름차순 : -ltr

원본 파일과 하드링크 파일의 inode가 같은 것을 확인할 수 있다.



[소프트링크(심볼릭 링크) Soft Link or Symbolic Link]

심볼릭링크 파일은 별도의 원본 파일 포인터를 갖기 때문에 크기가 8바이트로 원본파일/하드링크 파일과 다르며, 원본파일이 삭제되면 소프트링크도 쓸모없게 된다.

 

 ln -s 원본파일명 링크할파일명

원본 파일과 소프트링크 파일은 inode 번호가 다르다.

소프트링크 파일은 파일명이 민트색으로 바뀌고 원본파일명을 화살표로 가리키는 표시가 생긴다.

 

 

삭제 테스트 전 cat 명령을 통해 링크 원본 파일 데이터를 잘 가리키는 것 확인.

 

rm -rf 명령으로 원본 파일 삭제 후 확인

하드링크 파일은 그대로인데 소프트링크 파일은 심각해보인다.

출력 시도해보니 하드링크는 내용물이 잘 보존되어 있는 반면 소프트링크는 손실된 것을 볼 수 있다.

더보기

실습은 RHEL(Red Hat Enterprise Linux)의 클론 버전인 Rocky Linux 8버전을 사용했으며 Rocky Linux 9버전에서도 거의 문제없이 실행된다. 9버전에 와서 달라진 점은 따로 기입했지만 빠진 것이 있을 수 있다.

 

반응형