inode로 파일의 부모를 찾는 방법

inode로 파일의 부모를 찾는 방법

복구된 파일의 디렉터리 구조를 유지하기 위해 ntfsundelete를 사용하고 싶습니다. ntfsundelete의 출력은 다음과 같습니다.

Inode    Flags  %age  Date            Size  Filename
191321   FN..   100%  2016-04-26      1175  file.txt
191322   D...   100%  2016-04-26        10  my directory

출력에는 "file.txt"의 전체 경로가 표시되지 않고 해당 인덱스 노드만 표시됩니다. 그렇다면 상위 디렉토리의 inode를 찾는 방법은 무엇입니까?

답변1

인덱스 노드에는 상위 정보가 없으므로 디렉터리 항목과 인덱스 노드가 분리되어 있습니다. 상위 항목이 있는 디렉토리 항목(또는 dentry)입니다.

위의 이유는 하드링크를 지원하기 위함입니다. 하드 링크는 동일한 inode를 가리키므로 서로 다른 디렉터리(상위 디렉터리)에 있을 수 있습니다.

답변2

--parent매뉴얼 페이지 에 설명된 매개변수를 사용해 보셨나요 ntfsundelete?

원래 포함된 폴더에서 정보를 찾을 수 있으므로 일반적으로 작동합니다.

답변3

트리니티 구조 키트라는 유틸리티가 있으며 ntfsundeleteall이에 대한 설명은 다음과 같습니다.

"ntfsundelete" 유틸리티에 대한 간단한 래퍼입니다. 파일 이름 앞에 원래 inode(= 파일 시스템에 있는 파일의 내부 번호)를 추가하므로 항상 고유한 파일 이름을 갖게 됩니다. 나중에 파일 이름을 바꾸는 것은 사용자의 몫이지만, 적어도 복원된 파일 이름에는 원래 이름이 포함됩니다.

TRK 디스크를 다운로드하고 부팅하여 사용할 수 있습니다. 불행하게도 이 래퍼 스크립트의 소스를 찾을 수 없습니다. 보고된 iNode 이름을 기반으로 폴더를 생성하는 bash 스크립트를 상상하는 것은 어렵지 않습니다. ntfsundelete --scan어쩌면 연속적인 iNode 번호를 기반으로 파일과 폴더에 대해 낙관적인 추측을 할 수도 있지만... 작성하기가 어렵고 그런 사람을 찾을 수 없습니다. 가지다.

답변4

예를 들어 다음과 같이 사용할 수 있습니다 find(1).

find ./ -inum 191321

하지만 조금 느릴 수도 있습니다.

관련 정보