У меня есть несколько очень больших каталогов, и я хочу знать их приблизительный размер. Я использую для этой цели главным образом du
, но для каждой папки это занимает около 3 минут, поэтому я спрашиваю, есть ли альтернатива du
или stat
которая занимает меньше времени (это может быть неточным: ~ 10% будет в порядке)
1 ответ
Вопрос поднимался раньше довольно много раз. Насколько я знаю, здесь есть несколько возможных альтернатив:
Различные файловые системы - если вы можете поместить каждый интересующий вас каталог в отдельную файловую систему, тогда вы можете просто использовать
df
вместоdu
-> instant.Квоты. Если вы можете изменить владельца каталогов, то каждый из них может принадлежать другому пользователю, настроить дисковые квоты для них и использовать его для отслеживания того, сколько места они используют (также мгновенно).
cron - Запуск
du
в задании cron (скажем, каждый день или около того) и использование результата последнего задания вместо непосредственного запускаdu
. Если вас не волнует небольшая неточность, это может быть вариантом.Сообщается, что JDiskReport может быстро проанализировать диск или папку, которые были недавно проанализированы.
Filelight или Disk Usage Analyzer также может быть вариантом. Согласно этому:
Если у вас на рабочем столе стоит окружение рабочего стола, FileLight великолепен. Это довольно быстро и позволяет вам детализировать дерево каталогов, а затем повторно сканировать это поддерево только тогда, когда вы хотите получить обновленное представление. Вы вполне можете запустить полное сканирование один раз в день, а затем просто оставить программу открытой весь день, не обновляя ее.