한 파일 시스템(ext4)에서 다른 파일 시스템(NTFS)으로 이동하는 동안 파일을 삭제하면 어떻게 되나요?

한 파일 시스템(ext4)에서 다른 파일 시스템(NTFS)으로 이동하는 동안 파일을 삭제하면 어떻게 되나요?

어제부터 이게 나를 괴롭히고 있어요. 저는 GNOME 파일(Nautilus)을 사용하여 '다운로드' 폴더에서 NTFS 드라이브로 비디오 파일을 이동하고 있었습니다. 이제 파일을 잘라내어 붙여넣으면 대상 대상(동일한 하드 드라이브에서 ntfs-3g를 사용하는 별도의 NTFS 파일 시스템)에 즉시 나타납니다. 한 파일 시스템에서 다른 파일 시스템으로 파일을 이동할 때 기본적으로 파일이 복사된 다음 제거된다는 것을 알고 있습니다(틀렸다면 정정). 하지만 소스에서 서둘러 파일을 'shift+삭제'했고 잠시 후에 파일 관리자가 소스에서 파일을 삭제하고 사라진 후에도 여전히 파일을 NTFS 파일 시스템으로 이동하고 있습니다. 이동 막대가 100%에 도달한 후오류. 그런데 대상 위치를 확인해 보니 파일이 여전히 대상 위치로 이동되어 잘 재생되었습니다.

그렇다면 여기서 실제로 무슨 일이 일어난 걸까요? 이동 작업을 중단하지 않기 위해 Linux에서의 파일 작업이 이후에 작동합니까? 아니면 대상 위치로 이동한 파일이 손상되었을까요? 아니면 이동 작업으로 인해 파일이 삭제되었기 때문에 파일을 이동하는 동안 마지막 복사 작업으로 인해 오류가 발생한 것입니까?

답변1

파일을 삭제해도 해당 데이터(내용)는 삭제되지 않습니다. 파일이 있다는 메타데이터만 제거되고 해당 디스크 공간을 "나중에 사용할 수 있는 여유 공간"으로 표시합니다.

하지만 더 중요한 것은 OS가유지하다필요한 만큼 메타데이터를 언급했습니다. 해당 디렉터리(또는 여러 개의 하드링크가 있는 경우 모든 디렉터리)에서 파일 링크를 해제한 후에도 OS는 하나 이상의 프로세스가 해당 파일을 열어두는 한 실제 파일을 삭제하지 않습니다. 따라서 파일은 여전히 ​​존재합니다. 나머지 복사 작업 동안에는 이름이 없지만 여전히 공간을 차지하고 있습니다.

했다컴퓨터는 물리적으로 디스크 간에 데이터를 이동할 수 없기 때문에 "복사 작업"이라고 말합니다. 먼저 파일이 대상에 복사되고,그 다음에원본 파일이 삭제됩니다. 이것이 실제로 오류 메시지를 받은 이유입니다. 파일 관리자가 두 가지 별도 작업(복사 및 삭제)을 사용합니다. 복사는 성공했지만 삭제에는 실패했습니다.이미삭제했습니다).

답변2

Linux에서는 대부분의 경우 열린 파일을 삭제할 수 있습니다. 그러면 파일이 디렉토리 목록에서 사라지게 됩니다. 그러나 파일이 차지한 공간은 파일이 더 이상 사용되지 않은 후에만 해제됩니다.

귀하의 경우 실패한 것은 이동 작업의 마지막 단계인 소스 파일/디렉토리 제거였습니다.

관련 정보