В некоторых случаях появляется нужда посмотреть сколько места занимают файлы в определённой папке и найти самые большие файлы для того чтобы их удалить. Для решения этих задач известно несколько инструментов, но самый простой из них, это утилита du. Она позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате. Дальше разберемся что из себя представляет команда du Linux, а также как ею пользоваться для решения ваших рабочих задач.
Синтаксис простой. Достаточно передать опции и путь к папке с которой следует работать:
$ du options /path/to/folder
Опции утилиты:
-a, --all выводить размер для всех файлов, а не только для директорий, по умолчанию выводится только для папок;-B, --block-size указать единицы вывода размера, доступно: K,M,G,T,P,E,Z,Y для 1024 и KB, MB и так далее для 1000;-c, --total выводить в конце общий размер всех папок;-d, --max-depth максимальная глубина вложенности директорий;-h, --human-readable выводить размер в единицах измерения удобных для человека;--inodes - выводить информацию об использованию inode;-L, --dereference - следовать по всем символическим ссылкам;-l, --count-links - учитывать размер файла несколько раз для жестких ссылок;-P, --no-dereference - не следовать по символическим ссылкам, это поведение используется по умолчанию;-S, --separate-dirs - не включать размер подпапок в размер папки;--si - выводить размер файлов и папок в системе си, используется 1000 вместо 1024;-s, --summarize - выводить только общий размер;-t, --threshold - не учитывать файлы и папки с размером меньше указанного;--time - отображать время последней модификации для файла или папки, вместо времени модификации можно выводить такие метки: atime, access, use, ctime;-X, --exclude - исключить файлы из подсчёта;-x, --one-file-system - пропускать примонтированные файловые системы;--version - вывести версию утилиты.Чтобы просмотреть все опции выполните:
Чтобы просто вывести список папок в определённом каталоге и занимаемое ими место, например, в /var выполните:
$ man d
Если необходимо, чтобы размер выводился в более читабельном виде используйте опцию -h:
$ du -h /var

Также можно указать размер блока. Тогда точность будет немного ниже, потому что минимальная единица измерения - один блок. Например, для вывода размера папок в мегабайтах с блоком в 1024 килобайт используйте опцию -B с параметром M:
$ du -BM /var

Можно вывести размер не только папок, но и файлов, которые там находятся используйте опцию -a:
$ du -BM /var

Чтобы вывести только общий размер всех файлов и папок нужно применить опцию -s:
$ du -BM /var
Когда необходимо вывести размер папок без вложенных в них подпапок используйте опцию -m:
$ du -BM /var

Еще есть возможность вывести строчку с общим размером всей папки. Но использовать эту возможность целесообразно с опцией -S:
$ du -hSc /va

Чтобы исключить все в лог:
$ du -hac --exclude="*.log"

Для сортировки значений в удобном формате:
$ du -hac --exclude="*.log"
