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