디렉토리 내의 데이터가 동일한 경우 2 개의 디렉토리 크기가 다른 이유는 무엇입니까? 그들은 동일한 ext4 파티션과 디스크입니다


7
root@phoenix:~# ls -ld /backups/external?/var/subsonic/thumbs/110
drwxr-xr-x 2 root root 73728 Mar  4 15:35 /backups/external3/var/subsonic/thumbs/110
drwxr-xr-x 2 root root 69632 Mar  4 15:35 /backups/external4/var/subsonic/thumbs/110

위 디렉토리의 내용은 동일합니다. 디스크와 파일 시스템 구성은 동일합니다. 그러나 디렉토리의 크기 그들 자신 다르다.

예, 해당 디렉토리의 내용은 동일합니다. 차이점을 제외하고 diff -r, rsync -avx로 확인했습니다. 다음은 diff -r 출력입니다.

root@phoenix:~# diff -r /backups/external{3,4}/var/subsonic/thumbs/110
root@phoenix:~# 

du -bs 출력 :

root@phoenix:~# du -bs /backups/external?/var/subsonic/thumbs/110
4116125 /backups/external3/var/subsonic/thumbs/110
4112029 /backups/external4/var/subsonic/thumbs/110

du -b - 총 출력 계산 각 디렉토리 내의 파일들 :

root@phoenix:~# du -b --total /backups/external3/var/subsonic/thumbs/110/* | tail -1 
4042397 total
root@phoenix:~# du -b --total /backups/external4/var/subsonic/thumbs/110/* | tail -1 
4042397 total

그래서, external3 :

4042397 + 73728 = 4116125

그리고 external4 :

4042397 + 69632 = 4112029

디렉토리 자체의 크기에 추가 된 파일의 크기는 du -bs의 결과와 일치합니다.


여기서 우리는 당신이 내용이 동일하다는 것을 얼마나 확신하는지 묻습니다.
— Ignacio Vazquez-Abrams

편집 된 질문을 참조하십시오. 예, 내용이 동일한 여러 가지 방법으로 세 번 확인되었습니다.
— cb303

1
시도해 보았 니 du -s?
— Ignacio Vazquez-Abrams

-b 의미하다 --apparent-size이것은 사물을 변화시킵니다.
— Ignacio Vazquez-Abrams

답변:


8

에 의해보고 된 크기 ls -l 디렉토리에 저장된 파일의 누적 크기와 아무런 관련이 없습니다.

가장 일반적인 파일 시스템의 경우 디렉토리 항목을 저장하는 데 필요한 크기 (바이트)입니다. 이 크기는 블록 크기에 따라 증가합니다 (예 : 4096, 8192, ...). 블록에 저장할 수있는 항목의 수는 파일 시스템에 따라 다르며 항목 파일 이름 길이에 따라 다릅니다.

디렉토리 항목이 제거되면 단편화를 줄이기 위해 디렉토리 크기는 영향을받지 않습니다.

귀하의 예에서 external3 디렉토리에있다. 18 * 4096 할당 된 블록 external4 있다 17 * 4096 블록.

즉, 디렉토리 내용이 현재 동일한 경우에도 전자는 한 번 더 많은 파일 (또는 더 긴 이름을 가진 파일)을 저장했다는 것을 의미합니다. 별거 아니야.


고마워, 이건 정확히 내가 의심 받고 확인되기를 바란다.
— cb303
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.