Команда du в Linux

Команда du в Linux


Иногда возникает необходимость посмотреть сколько места занимают файлы в определённой папке и найти самые большие файлы для того чтобы их удалить. Конечно, для решения этих задач существует множество инструментов, но самый простой из них, это утилита du. Она позволяет вывести размер всех файлов в определённой папке в байтах или в более удобном формате.


В сегодняшней статье мы разберемся что из себя представляет команда du Linux, а также как ею пользоваться для решения ваших рабочих задач.


Синтаксис и опции команды du


Синтаксис команды очень простой. Вам достаточно передать ей опции и путь к папке с которой следует работать:


$ du опции /путь/к/папке


А вот опции утилиты:



  • -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 - вывести версию утилиты.


Здесь перечислены не все опции. Если вам надо больше, смотрите в:



man du

Примеры использования du


Чтобы просто вывести список папок в определённом каталоге и занимаемое ими место, например, в /var выполните:



du /var



По умолчанию размер выводится в байтах. Для того чтобы размер выводился в более читабельном виде используйте опцию -h:



du -h /var



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



du -BM /var



Если надо выводить размер не только папок, но и файлов, которые там находятся используйте опцию -a:



du -ha /var



Для того чтобы вывести только общий размер всех файлов и папок нужно применить опцию -s:



du -hs /var

 


Если вы хотите вывести размер папок без вложенных в них подпапок используйте опцию -m:



du -hs /var



Ещё можно вывести строчку с общим размером всей папки. Правда использовать эту возможность есть смысл только с опцией -S, потому что общий размер папки во всех других случаях и так отображается:



du -hSc /var



Если вам надо исключить какие-либо файлы из подсчёта, следует использовать опцию -exclude. Например, давайте исключим все лог файлы:



du -hac --exclude="*.log"



Чтобы данные были более наглядными их желательно отсортировать. Встроенной поддержки сортировки в du linux нет, зато можно воспользоваться утилитой sort с опцией -h. Эта опция нужна чтобы сортировались единицы измерения в понятном для чтения формате:



du -h /var | sort -h



Добавить комментарий

Автору будет очень приятно получить обратную связь.

Комментариев 0