Новости
Главная / Unix / Команда 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


Выводы

В этой небольшой статье мы рассмотрели основные возможности команды du в Linux. Как видите, несмотря на то, что утилита очень простая, она позволяет посмотреть всё что необходимо. А какими программами вы пользуетесь для просмотра размера файлов и папок? Напишите в комментариях!