외장 하드 드라이브 간에 파일을 복사한 후 파일 크기가 변경됩니다.

외장 하드 드라이브 간에 파일을 복사한 후 파일 크기가 변경됩니다.

방금 한 하드 드라이브에서 다른 하드 드라이브로 약 120G의 데이터를 복사했습니다(파일을 복사하는 동안 두 하드 드라이브를 모두 마운트했습니다). 그런데 내 관심을 끈 것은 일부 파일이 복사 후 더 많은 공간을 차지한다는 것입니다.

모든 파일에서 이런 현상이 발생하는 것은 아니지만 폴더 자체의 최종 크기(여러 폴더와 파일이 포함되어 있음)가 훨씬 더 큽니다(원본 118G, 복사 후 153G). 누군가 내가 이해하도록 도와줄 수 있나요?

이 스크린샷에서 볼 수 있듯이 공간은 128K 블록으로 할당된 것으로 보입니다. 이해할 수 있습니다.

우분투 20.04를 사용하고 있습니다.

원래 대상의 일부 파일 복사 후 동일한 파일

답변1

파일을 복사할 때 파일 크기가 커지는 데에는 두 가지 일반적인 이유가 있습니다.

원본 파일에 구멍(할당되지 않은 부분)이 있고 단순 복사 도구를 사용하는 경우 이러한 구멍은 실제 0으로 채워질 수 있습니다. JPEG 파일에는 구멍이 없으므로 그렇지 않습니다.

또 다른 일반적인 원인은 할당 블록 크기가 다른 두 파일 시스템 간에 파일이 복사되는 것입니다. 파일의 두 복사본 모두 동일한 길이(바이트 수)를 갖지만 파일 시스템은 일반적으로 파일을 블록에 저장하므로 파일은 항상 정수 블록 수를 차지합니다. 파일의 마지막 몇 바이트는 파일의 마지막 블록을 부분적으로 채웁니다.

대상 파일 시스템이 더 큰 블록 크기를 사용하는 경우 각 파일의 마지막 블록은 더 커질 수 있으며 파일의 저장 크기는 기본적으로 반올림됩니다.

역사적으로 여러 파일 시스템(원시 FFS, BSD UFS2, BTRFS)은 "조각" 블록을 보존하려고 시도하여 여러 파일의 마지막 부분 블록을 동일한 조각 블록에 저장했습니다.

관련 정보