
대화형으로 삭제되거나 👉 덮어쓰여진 👈 파일을 터미널에서 찾아 복구합니다
파일이 삭제되면 먼저 메타데이터가 사라집니다. 기본 디스크 블록은 재사용될 때까지 종종 그대로 남아 있습니다.
RecoverPy는 원시 파티션 데이터를 직접 스캔하고 장치 전체에서 바이트 패턴을 검색합니다. 블록이 덮어쓰여지지 않았다면 삭제된 파일의 조각이 여전히 내용으로 찾을 수 있습니다.
일치하는 블록을 검사하고, 인접 블록을 탐색하며, 남아 있는 것을 간단한 방식으로 추출할 수 있습니다.
블록이 사라졌다면 복구는 불가능합니다. 블록이 여전히 존재한다면 RecoverPy가 검색을 도와줍니다.
RecoverPy는 파일 시스템 구조를 해석하거나 파일 이름을 복원하려고 시도하지 않습니다. 디스크에 남아 있는 것을 노출하고 접근 가능하게 만드는 데 중점을 둡니다.
원시 블록 장치에 접근하려면 일반적으로 sudo가 필요합니다.
uv 사용sudo uvx recoverpy
또는 로컬에 설치:
uv tool install recoverpy
sudo recoverpy
python -m pip install recoverpy
sudo recoverpy
RecoverPy 시작:
sudo recoverpy
고유 식별자, 구성 키 또는 문장 조각을 사용하면 일반적인 단어보다 더 나은 결과를 얻을 수 있습니다.
RecoverPy는 블록 장치의 원시 바이트 스트림에서 직접 작동합니다.
선택한 파티션은 읽기 전용 모드로 열리고 고정 크기 청크를 사용하여 순차적으로 스캔됩니다. 스캐너는 증분식으로 스트림을 처리하며 청크 경계를 넘는 일치 항목이 누락되지 않도록 청크 사이에 약간의 중첩을 유지합니다.
패턴 매칭은 바이트 수준에서 수행됩니다. 각 일치에 대해 RecoverPy는 장치 내의 정확한 절대 오프셋을 기록합니다. 이 오프셋은 블록 검사 및 탐색의 기준점이 됩니다.
블록 읽기는 파일 시스템 추상화에 의존하지 않고 명시적 오프셋을 사용하여 수행됩니다. 이를 통해 장치의 많은 부분을 메모리에 로드하지 않고도 인접 블록에 정밀하게 접근할 수 있습니다.
전체 스캔은 스트리밍 기반이며 메모리 제한적입니다. RecoverPy는 파티션 전체를 메모리에 로드하지 않습니다.
RecoverPy는 원시 데이터에서 작동합니다. 파일을 자동으로 재구성하거나 파일 경계를 추론하지 않습니다.
결과는 부분적이거나 조각날 수 있습니다. 기본 블록이 이미 덮어쓰여졌다면 복구가 불가능합니다.
블록 장치에 접근하려면 일반적으로 sudo가 필요합니다. 추가 덮어쓰기 위험을 줄이기 위해 복구 중에는 대상 파티션에 쓰지 말고 가능하면 마운트를 해제하세요.
버그를 발견하거나 개선할 점이 있다면 언제든지 이슈를 열어주세요. 직접 작업하고 싶다면 풀 리퀘스트도 항상 환영합니다.
프로젝트 구조:
recoverpy/ui/ — 텍스트 인터페이스recoverpy/lib/search/ — 스트리밍 검색 엔진recoverpy/lib/storage/ — 블록 및 장치 접근recoverpy/lib/text/ — 디코딩 유틸리티tests/ — 단위 및 통합 테스트uv sync --dev
sudo uv run recoverpy
uv run pytest -q