디렉토리 내의 데이터가 동일한 경우 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.