inode, 목록 블록 포인터

inode, 목록 블록 포인터

일부 파일 시스템의 inode 구조에는 파일 내용을 저장하는 데 사용되는 블록에 대한 포인터 목록이 포함되어 있습니다. 목록은 첫 번째 주석에 지정된 대로 ext2/3/4에 존재해야 합니다.이 문제.

파일이 사용하는 블록의 주소는 istat다음 방법 중 하나로 얻을 수 있습니다.탐정 키트도구: 그러나 이는 정확히 inode 내의 포인터 목록이 아니며 최대 15개여야 합니다.이 예에서는더 많은 것들이 있습니다.

주어진 inode 번호에 대한 목록을 어떻게 얻을 수 있습니까?

답변1

inode를 가리키는 파일 항목이 있는 경우 다음을 사용할 수 있습니다 debugfs.

$ debugfs /path/to/filesystem
debugfs: inode_dump -b fileentry
0000  0004 0000 0104 0000 0204 0000 0304 0000  ................
0020  0404 0000 0504 0000 0604 0000 0704 0000  ................
0040  0804 0000 0904 0000 0a04 0000 0b04 0000  ................
0060  2902 0000 2a02 0000 0000 0000            )...*.......

-b플래그를 사용하면 값만 출력되므로 inode_dump다음 i_block이 가능합니다.직접적인 설명. 여기서 블록 번호는 0x0400 ~ 0x040B(파일 블록)이고, 그 다음은 0x0229의 간접 블록, 0x022A의 이중 간접 블록입니다.

관련 정보