Все ленты — последние статьи

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

 В операционных системах на базе Linux посмотреть размер папки (директории) можно с помощью команды du. Эта команда, выполняемая в консоли, позволяет оценить используемый объем места на жестком диске отдельно по папкам и файлам, просуммировать результат, узнать общий размер папки.

Синтаксис

Общий синтаксис команды 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