보조 디렉토리의 디스크 사용량을 찾는 방법은 무엇입니까?

보조 디렉토리의 디스크 사용량을 찾는 방법은 무엇입니까?

다음과 같은 디렉토리 구조가 있습니다.

relative_path/
              app1/
                   data
                   config
                   trash
              other_app/
                        inputs
                        outputs
                        garbage
              anything_else/
                            v1/
                               v1.5
                            v2/

두 번째 수준의 각 디렉터리에 대한 디스크 사용량을 파악해야 합니다(예: relative_path/anything_else/v1, 그러나 relative_path/anything_elsenor 는 아님 relative_path/anything_else/v1/v1.5).

이렇게 하면 du -d2 relative_path세 번째 수준 이상의 디렉터리는 나열되지 않지만 여전히 첫 번째 수준 디렉터리는 나열됩니다.

어떻게 필터링할 수 있나요?오직보조 디렉토리?

답변1

findGNU 또는 셸을 사용하여 대상 깊이의 디렉터리를 반복하고 -s( 와 동일 -d0)을 사용하여 각 인수의 합계를 표시합니다. 그러면 출력되지만 relative_path/anything_else/v1디렉터리와 해당 하위 디렉터리의 총 개수가 표시됩니다.

하위 디렉터리의 크기도 제외하려면 다른 디렉터리를 추가하세요 -S.

find relative_path -mindepth 2 -maxdepth 2 -type d -exec du -sS {} \;

또는

for dir in relative_path/*/*/; do
    du -sS "$dir"
done

관련 정보