Я получаю вывод, 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
Есть ли способ удалить родительскую папку, если дочерняя папка отвечает за большую часть использования дискового пространства?
Параметр, позволяющий показывать только конечные папки, может помочь, или параметр, позволяющий вычитать размер всех подпапок из родительской папки при расчете размера родительской папки.
disk-usage
EoghanM
источник
источник
Ответы:
Если вы используете GNU du, вы можете использовать опцию
-S
или,--separate-dirs
чтобы не включать размер подкаталогов при расчете использования для родителя.Ваша
du
команда может не поддерживать эту опцию.Вы можете использовать эту пару с сортировкой, чтобы получить самые большие отдельные каталоги (с учетом инструментов GNU):
источник
Лично я просто комбинирую это с мощью сортировки GNU:
Это приведет к сортировке размеров в удобочитаемом формате. Например:
От
man sort
:Он по-прежнему показывает те, которые вас не волнуют, но теперь очень легко найти те, которые вы делаете.
источник
545M ./.wine/drive_c
в верхней части списка, хотя в нем содержатся только папки и нет файлов, и становится сложнее увидеть, как распределяется пространство между (рекурсивными) подпапками диска drive_c, поскольку они не не появляются последовательно в списке.Если вы просто ищете четко организованный вид, я рекомендую
durep
пакет.Пример вывода:
Используйте
-td
параметр, чтобы указать максимальную глубину, и-hs
параметр, чтобы указать минимальный размер папки, отображаемой в результатах.источник
Не совсем уверен , если это то , что вы хотите, но вы можете лишить родительские каталоги с помощью GNU
find
«s-execdir
:Параметр
-execdir
аналогичен,-exec
но выполняет команду, указанную в подкаталоге, в которомfind
был найден файл.источник
Если вы используете
du
фиксированную глубину, напримерdu -m -d 2 .
, вы можете просто замаскировать линии, которые не достигают вашей максимальной глубины, вот так:В этом случае я хотел, чтобы глубина составляла 2 каталога, поэтому я сохранял результаты только с 3 полями, как определено с
awk
ключевым словом,NF
после того,"/"
как в начале был указан мой разделитель полей.источник
Они оба работают для меня:
источник