다음과 같은 디렉토리 구조가 있습니다.
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_else
nor 는 아님 relative_path/anything_else/v1/v1.5
).
이렇게 하면 du -d2 relative_path
세 번째 수준 이상의 디렉터리는 나열되지 않지만 여전히 첫 번째 수준 디렉터리는 나열됩니다.
어떻게 필터링할 수 있나요?오직보조 디렉토리?
답변1
find
GNU 또는 셸을 사용하여 대상 깊이의 디렉터리를 반복하고 -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