나는 다음과 같은 디렉토리에서 파일/디렉터리의 디스크 사용량을 얻을 수 있다는 것을 알고 있습니다.
for file in $(ls); do du --hum --sum $file; done
파일/디렉토리 이름에 공백이 포함되어 있으면 실패하는 것 같습니다. 그래서 나는 이것을 시도했습니다 :
find . -maxdepth 1 -type d -print0 | xargs -0 du --hum --sum
이것은 단지 다음과 같은 결과를 낳습니다:
2.3G .
그리고 내 디렉토리에는 8개의 하위 디렉토리가 있습니다.
답변1
--sum
다음과 같이 max-length 지시문을 적용하고 du 호출에서 이를 꺼낼 수도 있습니다.
du --hum --max-depth=1
또한 공백이 있는 디렉토리도 표시됩니다.
다음 예제 출력에서는 디렉터리가 공백과 함께 표시되는 것을 보여줍니다.
4.0K ./regular_dir1
4.0K ./regular_dir2
4.0K ./dir with spaces
답변2
EWJ00만큼 좋지 않음:
find . -maxdepth 1 -type d -print0 | while read -d $'\0' file; do du --hum --sum "$file"; done