Disk-Usage

DU:僅顯示深度文件夾

  • March 8, 2017

我得到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

如果子文件夾負責大部分磁碟空間使用,是否有任何方法可以刪除父文件夾?

僅顯示葉文件夾的設置可能會起作用,或者在計算父文件夾的大小時從父文件夾中減去所有子文件夾的大小的設置。

如果您使用的是 GNU du,您可以使用-Sor--separate-dirs選項在計算父目錄的使用情況時不包括子目錄的大小。

您的du命令可能不支持此選項。

您可以將這對與 sort 結合使用來獲得最大的單個目錄(假設使用 GNU 工具):

du --separate-dirs -h . |sort -h

就個人而言,我只是將它與 GNU sort 的強大功能結合起來:

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)

它仍然顯示您不關心的那些,但現在很容易找到您關心的那些。

引用自:https://unix.stackexchange.com/questions/91417