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

