Вот быстрое решение, используйте du + sort. Попробуй это:
du -smc * | sort -n
Это будет игнорировать скрытые файлы, но это еще одно простое исправление:
du -smc .[^.] .??* * | sort -n
Это может вызвать предупреждение о том, что один или несколько из приведенных выше шаблонов не соответствуют файлу. Первый шаблон .[^.]
соответствует всем двум именам имен файлов, начинающимся с. кроме .., второй шаблон, .??*
соответствует всем именам трех или более букв, начиная с. и * соответствует всем файлам, не начинающимся с. Для более изощренного перечисления, такого как поиск всех файлов размером больше X во всей файловой системе или поддержание списка роста файловой системы, у меня есть несколько сценариев DIY-оболочки, которые я написал и могу поделиться, если вам интересно.
sort -nr
если вы хотите самые большие значения сверху.Чтобы вывести список файлов в любом месте
/tmp
, отсортированный по размеру:Чтобы вывести список файлов и деревьев каталогов, расположенных под ними
/tmp
, отсортированный по размеру:Чтобы вывести список всех файлов и деревьев каталогов в любом месте
/tmp
, отсортированный по размеру:(Пример, иллюстрирующий разницу между тремя командами: если есть файл
/tmp/dir/file
, список первой команды, список/tmp/dir/file
второй/tmp/dir
и третий - обе).Все приведенные выше команды показывают размеры в килобайтах. В то время как GNU du может выводить «читаемые человеком» размеры (с множителями k, M, G и т. Д.), Сортировка их - это другой вопрос. Достаточно недавно GNU coreutils (≥7.4) может это сделать: просто заменить
du -k
наdu -h
иsort -k1n -k2
наsort -k1h -k2
. В противном случае, вот грубый скрипт awk для преобразования в суффиксные размеры (округление вниз); просто передайтеsort
вывод выше в это.источник
du
вызова.Я использую следующий псевдоним для этого:
alias ds='du -x --all --max-depth=1 . | sort -n'
Он печатает размеры всех файлов и подкаталогов 1-го уровня текущего каталога.
источник
С текущей версией сортировки gnu (и заимствованием шаблона файла @ penguin359)
С более старой версией рода
РЕДАКТИРОВАТЬ: добавлен параметр -S,
du
чтобы не включать подкаталоги.источник
--apparent-size
к параметрам du.ОБНОВЛЕНИЕ: я удалил предыдущий сценарий. Вот новая версия, использующая
du
иawk
(предыдущая использовалаtree
иsed
)Это вывод:
dusort ~/test 1
Вот сценарий
источник
tree
делает это. если вы хотите использовать дисковое пространство, тоdu
делает это ... (tree
не составляет каталог)man du
, что он также может сообщать о "кажущемся размере файла" ....The apparent size of a file is the number of bytes reported by
wc -c 'для обычных файлов или, в более общем смысле,ls -l --block-size=1' or
stat --format =% s'. Например, файл, содержащий словоzoo' with no newline would, of course, have an apparent size of 3.
сначала показывает самые большие файлы, так что вы можете qприступить к работе, как только увидите достаточно.
источник