grep
내 하드 드라이브를 스캔하여 손실된 파일을 복구 하려고 합니다 . (운영 체제는 Darwin 11.4.2이고 파일 시스템은 HFS입니다.)
파일(또는 연속 블록)이 디스크에서 시작하고 끝나는 위치를 확인하는 방법은 무엇입니까? 나는 다음과 같은 것을 생각하고 있었다일반적인파일 시작(BOF) 및 파일 끝(EOF) 시퀀스.
나는 검색 시 스캔한 콘텐츠를 (적어도) 일관된 덩어리로 자동으로 "파싱"하기를 원합니다(BOF 또는 EOF에서 분할하여).
답변1
범용 파일 시스템은 파일 시작 또는 파일 끝 시퀀스를 사용하지 않습니다. 매우 비실용적입니다. 파일에 이러한 문자 시퀀스가 포함되어 있으면 어떻게 될까요?
대부분의 기본 파일 시스템은 스토리지를 고정 크기 블록으로 나누고 각 파일에 대한 블록 목록을 유지합니다. 파일 크기는 별도로 유지되며 파일에서 사용되는 마지막 부분 블록 수를 결정합니다. 복잡한 파일 시스템은 이러한 기본 아이디어를 완벽하게 구현합니다.
그리고고주파 FS, 파일 내용을 구성하는 블록 목록은 파일 레코드 및 범위 오버플로 파일의 범위로 저장됩니다. 할당 블록의 크기(파일 콘텐츠의 중단되지 않는 기본 단위)는 파일 시스템 헤더에 저장됩니다.