Вы здесь

Как узнать размер папки в Linux

Синтаксис

Общий синтаксис команды du следюущий:

    du
    du имяПапки
    du [ключи] имяПапки

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

Без передачи каких-либо параметров команда du выводит название и размер каждой папки по текущему пути, при этом включая в вывод все подкаталоги:

    du

Пример вывода:

    8       ./share/gegl-0.2/plug-ins
    12     ./share/gegl-0.2
    16     ./share/rhythmbox
    56     ./share/icons/hicolor/16x16/apps
    60     ./share/icons/hicolor/16x16
    208    ./share/icons/hicolor/256x256/apps
    212    ./share/icons/hicolor/256x256
    64     ./share/icons/hicolor/48x48/apps
    68     ./share/icons/hicolor/48x48
    56     ./share/icons/hicolor/32x32/apps
    60     ./share/icons/hicolor/32x32
    404    ./share/icons/hicolor
    408    ./share/icons

Для того, чтобы вывести такую же информацию об определенной папке, укажите её при вызове команды, например:

    du ~/.local
    du /home

Чтобы получить значения размеров папок в более удобном для восприятия формате, а именно в килобайтах (K), мегабайтах (M) или гигабайтах (G) используйте ключ -h:

    du -h
    du -h /home

Пример вывода:

    8.0K    ./.vim
    24K    ./scripts
    48K    ./.ssh
    16K    ./.keychain
    2.2M    ./.lftp
    2.4M    .

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

    du -s /home

Пример результатов:

    291210112    /home/

Лучше будет запустить команду du с ключами -s и -h совместно:

    du -hs /home

Тогда вывод воспринять легче:

    278G    /home/

Ключ -c используется для подсчета общей суммы размеров папок так:

    du -chs /etc /root/

Результат:

    56M    /etc
    62M    /root/
    118M    итого

Другая удобная опция команды du это ключ --max-depth, который задает глубину папок для просмотра. Если задать глубину равной единице, то можно посмотреть общие размеры всех папок по указанному пути. Выполните:

    du -h --max-depth=1

Пример результатов работы:

    2.9M    ./.nbi
    948K    ./.local
    104K    ./.gconf
    12K    ./.gnome2
    4.0K    ./.gnome2_private
    44K    ./.filezilla
    356K    ./.cache
    12K    ./Desktop
    4.0K    ./.gvfs
    1.2M    ./.gem
    12K    ./.dbus
    86M    ./.cpan
    26M    ./perl5
    1.5M    ./.java
    80K    ./.config
    16K    ./.ssh
    4.0K    ./.pulse
    165M    .

Ключи команды du
Ключ  Действие
-a, --all  Вывести размер для всех файлов, а не только папок
--apparent-size  Вывести действительные размеры, а не занимаемое на диске  место; хотя действительный размер обычно меньше, иногда он может быть больше из-за дыр в файлах, внутренней фрагментации, косвенных блоков и тому подобного
-B, --block-size=РАЗМЕР  Выводить результаты в определенных единицах измерения. Например, -BM выводит размеры в единицах, равных 1,048,576 байтам, т.е. в мегабайтах
-b, --bytes  Эквивалентно --apparent-size --block-size=1
-c, --total  Выводить общий итог
-D, --dereference-args  Следовать только по символьным ссылкам, которые перечислены в командной строке
--files0-from=ФАЙЛ  Вывести отчёт об использовании диска, чьи имена файлов перечислены в файле ФАЙЛ
-H  Эквивалентен ключу --dereference-args (-D)
-h, --human-readable  Выводить размеры в удобном для человека виде (например, 1K 234M 2G)
--si  Как -h, но используется делитель 1000, а не 1024
-k  Синоним --block-size=1K
-l, --count-links  Суммировать размеры, если есть несколько жёстких ссылок на один объект
-m  Синоним --block-size=1M
-L, --dereference  Следовать по символьные ссылки
-P, --no-dereference  Не следовать по символьным ссылкам (по умолчанию)
-0, --null  Завершать каждую выводимую строку 0-м байтом, а не символом новой строки
-S, --separate-dirs  Не включать размер папок
-s, --summarize  Выводить размер только для папки, переданной в качестве аргумента
-x, --one-file-system  Оставатся в пределах одной файловой системы
-X, --exclude-from=ФАЙЛ  Исключать файлы, совпадающие с каким-либо образцом из ФАЙЛА
--exclude=ОБРАЗЕЦ  Исключать файлы, соответствующие ОБРАЗЦУ
-d, --max-depth=N  Глубина следования по субдиректориям
--time  Показывать время последней модификации всех файлов в каталоге или всех его подкаталогов
--help  Показать эту справку и выйти
--version  Показать информацию о версии программы du