du -h
다음과 같은 결과가 나타납니다 .
103M ./.wine/drive_c/windows/mono/mono-2.0/lib/mono
103M ./.wine/drive_c/windows/mono/mono-2.0/lib
129M ./.wine/drive_c/windows/mono/mono-2.0
129M ./.wine/drive_c/windows/mono
362M ./.wine/drive_c/windows
545M ./.wine/drive_c
가장 실행 가능한 폴더만 표시하고 싶습니다../.wine/drive_c/windows/mono/mono-2.0/lib/mono
하위 폴더가 디스크 공간의 대부분을 차지하는 경우 상위 폴더를 삭제할 수 있는 방법이 있습니까?
리프 폴더만 표시하도록 설정하면 문제가 해결될 수 있으며, 크기를 계산할 때 상위 폴더에서 모든 하위 폴더의 크기를 빼도록 설정하면 문제가 해결될 수 있습니다.
답변1
GNU du를 사용하는 경우 -S
또는 --separate-dirs
옵션을 사용하여 상위 디렉터리의 사용량을 계산할 때 하위 디렉터리의 크기를 제외할 수 있습니다.
귀하의 du
명령은 이 옵션을 지원하지 않을 수 있습니다.
이 정렬 쌍을 사용하여 가장 큰 단일 디렉터리를 얻을 수 있습니다(GNU 도구 가정).
du --separate-dirs -h . |sort -h
답변2
개인적으로 저는 이것을 GNU 정렬 기능과 결합했습니다.
du -ch | sort -h
이렇게 하면 크기가 사람이 읽을 수 있는 형식으로 정렬됩니다. 예를 들어:
$ du -h /usr/ | head -20 | sort -h
8.0K /usr/src/linux-headers-3.2.0-3-common/include/misc
12K /usr/src/linux-headers-3.2.0-3-common/include/drm/i2c
12K /usr/src/linux-headers-3.2.0-3-common/include/net/netfilter/ipv4
16K /usr/src/linux-headers-3.2.0-3-common/include/net/netfilter/ipv6
20K /usr/src/linux-headers-3.2.0-3-common/include/net/phonet
28K /usr/src/linux-headers-3.2.0-3-common/include/acpi/platform
52K /usr/src/linux-headers-3.2.0-3-common/include/net/netns
60K /usr/lib32/libv4l
76K /usr/src/linux-headers-3.2.0-3-common/include/net/caif
96K /usr/src/linux-headers-3.2.0-3-common/include/scsi/fc
108K /usr/src/linux-headers-3.2.0-3-common/include/net/bluetooth
112K /usr/src/linux-headers-3.2.0-3-common/include/drm/ttm
148K /usr/src/linux-headers-3.2.0-3-common/include/net/netfilter
264K /usr/src/linux-headers-3.2.0-3-common/include/rdma
284K /usr/src/linux-headers-3.2.0-3-common/include/acpi
596K /usr/src/linux-headers-3.2.0-3-common/include/drm
608K /usr/src/linux-headers-3.2.0-3-common/include/scsi
668K /usr/games
6.3M /usr/lib32/gconv
8.9M /usr/lib32
에서 man sort
:
-h, --human-numeric-sort
compare human readable numbers (e.g., 2K 1G)
관심 없는 콘텐츠는 계속 표시되지만 이제는 관심 있는 콘텐츠를 쉽게 찾을 수 있습니다.
답변3
선명한 시야를 원한다면 이 durep
패키지를 추천합니다.
출력 예:
root@dogmeat:~# durep -td 4 -hs 50M /usr/
[ /usr 4.8G (0 files, 9 dirs) ]
1.9G [########### ] 38.57% lib/
463.6M [####### ] 24.46% x86_64-linux-gnu/
102.3M [###### ] 22.07% wine/
276.2M [#### ] 14.57% i386-linux-gnu/
96.1M [########## ] 34.80% wine/
222.4M [### ] 11.73% libreoffice/
189.3M [######################### ] 85.12% program/
122.6M [# ] 6.47% chromium-browser/
87.6M [##################### ] 71.46% chromium-browser
79.5M [# ] 4.19% virtualbox/
79.4M [# ] 4.19% jvm/
73.4M [########################### ] 92.52% java-7-openjdk-amd64/
73.4M [############################# ] 99.99% jre/
75.7M [# ] 3.99% python2.7/
58.4M [####################### ] 77.21% dist-packages/
58.9M [ ] 3.11% firefox/
52.2M [ ] 2.75% libwireshark.so.2.0.2
1.4G [######## ] 29.56% src/
1.2G [####### ] 26.03% share/
211.6M [#### ] 16.54% fonts/
199.3M [############################ ] 94.18% truetype/
84.2M [############ ] 42.23% horai-umefont/
174.6M [#### ] 13.64% icons/
91.5M [############### ] 52.39% gnome/
66.4M [##################### ] 72.60% icon-theme.cache
77.5M [# ] 6.05% gimp/
77.5M [##############################] 100.00% 2.0/
66.2M [######################### ] 85.43% help/
74.4M [# ] 5.82% virtualbox/
56.9M [###################### ] 76.42% VBoxGuestAdditions.iso
62.9M [# ] 4.91% doc/
240.1M [# ] 4.89% bin/
인수를 사용하여 -td
최대 깊이를 지정하고 -hs
인수를 사용하여 결과에 표시되는 폴더의 최소 크기를 지정합니다.
답변4
이것이 원하는 것인지 확실하지 않지만 GNU를 사용하여 상위 find
디렉토리를 삭제할 수 있습니다 -execdir
.
find . -type d -execdir du -ch "{}" \;
이 옵션은 유사하지만 -execdir
파일이 있는 -exec
하위 디렉터리에 제공한 명령을 실행합니다.find