В некоторых случаях появляется нужда посмотреть сколько места занимают файлы в определённой папке и найти самые большие файлы для того чтобы их удалить. Для решения этих задач известно несколько инструментов, но самый простой из них, это утилита 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"
