이 명령을 사용하여 du
폴더 크기를 가져옵니다. 실제 크기에 관심이 있었기 때문에 결국 다음 명령을 사용하게 되었습니다.
du –sh --apparent-size <someFolder>/
이 예에서는 4.6M
폴더가 실제로 4M이라는 것을 알고 있으며 WinSCP는 이를 확인했습니다(4096KiB).
그렇다면 "4M" 결과(가급적이면 사람이 읽을 수 있는 형식)를 얻으려면 어떤 명령을 사용해야 합니까?
또한 모든 하위 폴더도 포함해야 하므로 재귀적이어야 합니다. 폴더 구조는 다음과 같습니다.
_cache
+-- _fold1
+-- _fold2
| +-- _fold2.1
| +-- file2.1.1
| +-- file2.1....
| +-- file2.1.5000
| +-- _fold2.2
| +-- file2.2.1
| +-- file2.2....
| +-- file2.2.5000
감사해요!
답변1
이 명령은 du
디스크 사용량을 표시하도록 설계되었습니다. 디렉터리의 디스크 사용량에는 해당 디렉터리가 차지하는 실제 크기가 포함됩니다.
디렉토리는 모든 파일 또는 그 안의 기타 항목의 이름과 inode를 보유하는 특별한 유형의 파일입니다. 이것은 디스크 공간을 차지합니다.
예를 들어, 저는 세 개의 디렉터리를 만들었습니다.
하나는 dir1
40M 크기의 단일 파일을 포함하는 것입니다. 이 디렉터리 dir2
에는 10개의 하위 디렉터리가 포함되어 있으며, 각 하위 디렉터리에는 4M 크기의 파일이 포함되어 있습니다. 이 디렉토리 dir3
에는 10,000개의 빈 파일이 포함되어 있습니다.
달리는du -s -B 1 dir1 dir2 dir3
41947136 dir1
41988096 dir2
258048 dir3
작은 디렉터리의 경우 디렉터리 크기(적어도 특별한 설정이 없는 ext4 파일 시스템에서는)는 4096바이트입니다. 큰 디렉토리(많은 파일 포함)의 경우 크기가 더 커집니다( ls -l
앞으로 설명하겠지만). 디렉터리와 파일의 크기를 합산하면 결국에는 눈에 보이는 차이가 나올 것이라고 확신합니다.