
가능한 중복:
디렉터리 크기 계산 차이
du
Linux에서 명령이 어떻게 작동하는지 이해하지 못합니다 . 나는 수백 개의 작은 파일의 전체 크기를 계산하고 du -sh
150MB 정도의 파일을 반환하고 싶었습니다. 내 파일 관리자가 동일한 데이터 세트에 대해 약 50MB만 표시한다는 사실을 깨닫고 혼란스러워지기 전까지는 이에 대해 의문을 제기하지 않았습니다.
내가 시도한 것은 다음과 같습니다.
fkochem@WK-6:~/temp$ cat test
a
fkochem@WK-6:~/temp$ du -sh test
4.0K test
그렇다면 이제 이것은 실수임에 틀림없습니까? du -sh *
원본 데이터를 살펴본 결과 다음과 같은 내용을 발견했습니다.
4.0K NCO-0.9.9.9.json
4.0K NCO-0.99.9.json
4.0K NCO-0.9.9.json
8.0K NCO-0.99.json
8.0K NCO-0.9.json
왜 du
4KB 단위로 계산되는 것 같나요? 내가 여기서 무엇을 놓치고 있는 걸까요?
답변1
du는 디스크 사용량이며 파일에 할당된 디스크 양을 계산합니다. 최소 "블록 크기"(즉, 파일에 할당된 최소 청크)는 일반적으로 4k입니다. 따라서 파일 시스템은 du가 아닌 4k 청크로 계산됩니다.
다음과 같이 드라이브를 포맷하면 1,000개의 청크로 계산됩니다.
mke2fs -b 1024 /dev/XXX