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