저는 .txt를 사용하여 한 서버에서 다른 서버로 파일을 복사합니다 rsync
. 측정된 폴더 파일 바이트 크기가 du -sb <folder>
31,755,289,904바이트에서 31,755,505,579로 증가했습니다.
어떻게 이런 일이 일어났는지 잘 모르겠습니다.
두 서버 모두 CentOS Linux 버전 7.3.1611(코어)입니다.
도와주세요.
답변1
이전 질문을 인용하겠습니다.ls -l과 du-sh의 파일 크기의 차이점은 무엇입니까, 그러나 요약하자면 다음과 같습니다.
du
파일 시스템에서 파일이 차지하는 공간의 양을 측정합니다. 파일 시스템은 1k 바이트의 "블록"으로 파일 공간을 할당하지만 매우 큰 디스크의 경우 블록 크기가 더 커질 수 있습니다.
따라서 수백 KB의 파일은 ls -l
파일 시스템의 전체 블록을 사용하게 됩니다. 블록은 다른 파일과 "공유"될 수 없으므로 블록의 전체 크기가 해당 파일에 대해 표로 작성됩니다 du
. ls -l
파일 내용에 사용된 바이트 수를 보고하고 블록에서 사용되지 않은 추가 공간을 무시합니다.
전통적으로 Linux 파일 시스템은 최대 수 테라바이트 크기의 대부분의 디스크에 1KB(1024바이트) 블록을 사용했습니다. 더 큰 디스크(예: 4TB 이상)에서 파일 시스템 블록은 일반적으로 4KB입니다. ls -l
파일 크기는 수백 KB로 보일 수 있지만 디스크에서는 1블록(1KB)을 사용하여 du
이를 보여줍니다. 다른 서버에서 디스크가 훨씬 더 크면 파일은 여전히 공간 블록을 소비하지만 블록은 4KB/4096바이트입니다.
다른 모든 것은 두 서버 간에 동일할 수 있지만 파일을 보유하는 파일 시스템이 서버에서 다른 블록 크기를 갖는 경우 명령은 du
파일이 파일 시스템에서 다른 공간을 차지한다고 보고합니다.