NTFS 파일 시스템의 "rm"은 Windows 자체 구현과 어떻게 다릅니 까?


16

NTFS 파일 시스템이있는 외장 USB 디스크가 있습니다.

Windows에서 파일을 제거하고 여러 "삭제 취소"유틸리티 (예 : TestDisk) 중 하나를 실행하면 파일이 쉽게 복구 될 수 있습니다 ( "아직 파일이 있지만 삭제 된 것으로 표시되어 있기 때문에").

Linux에서 파일을 제거하면 (심층 검색 서명 기반 파일을 사용하지 않는 한) 유틸리티를 사용하여 파일을 복구 할 수 없습니다. 왜? 링크 해제는 Linux의 NTFS 파일 시스템 코드에서 어떻게 구현됩니까? "삭제 된 것으로 표시"하는 것이 아니라 디스크상의 일부 구조를 지우는 것 같습니다.이 경우입니까?


2
@Jay silly_evarlast Wren 아마 옳았을 것입니다. serverfault로 시도하겠습니다. 이 동작을 테스트하는 데 사용한 시스템은 우분투이므로 우분투와 관련 이 있을 수 있습니다.

ntfs-3g의 소스 코드를 살펴보고 문제에 대한 것이 있는지 확인할 수 있습니다.
Martin Ueding

아마도 ntfs-3g 개발자에게 물어볼 수도 있습니다 (NTFS의 작동 방식과 구현 방법을 알고 있음).
JanC December

답변:


7

호기심에서 ntfs3g 소스를 살펴 보았습니다.

ntfs_delete(...)정의 된 함수가있는 것으로 보입니다 dir.c.

파일 시스템 구조에서 삭제 된 파일 / 디렉토리의 메타 데이터를 모두 제거합니다.

Microsoft 자체 버전의 소스 코드를 사용할 수 없으므로 삭제 방법을 교육적으로 추측 할 수 있습니다.

삭제 취소 유틸리티는 삭제 된 파일의 위치와 이름을 복구 할 수 있기 때문에 Microsoft는 MFT 항목 만 사용되지 않은 것으로 표시합니다.


3

Windows 및 NTFS의 특성을 모르지만 Unix / Linux 파일 관리자 GUI 및 Mac OS X Finder 에서이 작업을 수행하는 일반적인 방법은 실제로 파일을 삭제하지 않고 휴지통이라는 특별한 숨겨진 폴더로 옮기는 것입니다. 비슷한). undelete 명령은 해당 휴지통 폴더에서 파일을 검색합니다.

rm 사용자가 요청한대로 휴지통 폴더를 방해하지 않고 파일을 간단히 제거합니다.


고마워, 나는 그 행동에 대한 설명을 찾고 있었다!
jcora
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.