Назад | Перейти на главную страницу

Инструмент командной строки для анализа дискового пространства на основе типов файлов

По сути, я ищу что-то вроде Windirstat, которое хорошо работает в командной строке и легко распространяется по сети.

Я пробовал sysinternals du (не могу исключать / включать типы файлов), diruse (ограничен, как du), cygwin du (слишком медленно). Я также перепробовал все графические инструменты, которые смог найти, и ни у одного из них нет интерфейса командной строки.

Какие-нибудь скрытые драгоценности, которые мне не хватает?

я обнаружил Ксинорбис. Это кажется блестящим.

Если вы хотите / можете переносить инструменты Unix на свой компьютер с Windows (что, я думаю, да, поскольку вы уже используете du), вы можете попробовать использовать findutils из cygwin в сценарии bash:

for filetype in doc xls jpg mov; do
  combined=0
  find /cygdrive/c -name "*.$filetype" -type f -print0 | xargs -0 du -k | \
    (while read; do
      current=$(echo $REPLY | awk '{print $1}'
      combined=$(( $combined + $current ))
    done)
    echo "$filetype files use $combined KiB on C:"
done

NB - это примерно то, что я бы сделал; это не проверено.

Конечно, это можно было бы сделать более эффективно, если бы вы хотели сделать это для каждого типа файлов в системе. Для одиночных типов, вероятно, не станет намного лучше с выделенными инструментами, поскольку это должно быть настолько привязано к вводу-выводу.